Questions tagged «typedef»

在C和C ++中,可以使用typedef关键字为已知数据类型创建别名。

21
将Objective-C Typedef转换为其等效字符串
假设我在.h文件中声明了typedef,如下所示: typedef enum { JSON, XML, Atom, RSS } FormatType; 我想构建一个将typedef的数值转换为字符串的函数。例如,如果消息[self toString:JSON]已发送;它将返回“ JSON”。 该函数将如下所示: -(NSString *) toString:(FormatType)formatType { //need help here return []; } 顺便说一句,如果我尝试这种语法 [self toString:FormatType.JSON]; 将typedef值传递给方法,我得到一个错误。我想念什么?
141 c  objective-c  enums  typedef 

9
自我参照结构定义?
我已经很长时间没有写C了,所以我不确定应该如何去做这些递归的事情……我希望每个单元格都包含另一个单元格,但是随着“字段'child'的行类型不完整”。这是怎么回事? typedef struct Cell { int isParent; Cell child; } Cell;
134 c  recursion  struct  typedef 


1
struct声明末尾的[1]的目的是什么?
我正在窥探MSP430微控制器的头文件,并且在<setjmp.h>以下位置遇到了这个问题: /* r3 does not have to be saved */ typedef struct { uint32_t __j_pc; /* return address */ uint32_t __j_sp; /* r1 stack pointer */ uint32_t __j_sr; /* r2 status register */ uint32_t __j_r4; uint32_t __j_r5; uint32_t __j_r6; uint32_t __j_r7; uint32_t __j_r8; uint32_t __j_r9; uint32_t __j_r10; uint32_t __j_r11; } …

4
我应为`size_t`包括哪个标题?
根据cppreference.com size_t在几个头中定义,即 <cstddef> <cstdio> <cstring> <ctime> 而且,自C ++ 11起, <cstdlib> <cwchar> 首先,我想知道为什么会这样。这不违背DRY原则吗?但是,我的问题是: 我应使用上述标题中的哪一个size_t?有关系吗?
95 c++  typedef 


5
此typedef语句是什么意思?
在C ++参考页中,他们提供了一些typedef示例,而我试图理解它们的含义。 // simple typedef typedef unsigned long mylong; // more complicated typedef typedef int int_t, *intp_t, (&fp)(int, mylong), arr_t[10]; 因此,我理解了简单的typedef(第一个声明)。 但是他们要对第二个声明什么(下面重复)? typedef int int_t, *intp_t, (&fp)(int, ulong), arr_t[10]; 特别是什么(&fp)(int, mylong)意思?
76 c++  typedef 


6
在Objective-C中向前声明枚举
我在Objective-C程序中的枚举可见性遇到麻烦。我有两个头文件,一个头文件定义了一个typedef enum。另一个文件需要使用typedef'd类型。 在直接C语言中,我将只是#include另一个头文件,但是在Objective-C中,建议不要#import在头文件之间使用,而是@class根据需要使用前向声明。但是,我不知道如何前向声明枚举类型。 我不需要实际的枚举值,除了在相应的.m实现文件中,可以放心使用#import。那么,如何typedef enum在标头中识别它?

5
C ++静态多态性(CRTP)并使用派生类中的typedef
我阅读了Wikipedia上有关C ++中反复出现的模板模式以实现静态(阅读:编译时)多态性的文章。我想对其进行概括,以便可以基于派生类型更改函数的返回类型。(由于基本类型从template参数知道派生类型,因此这似乎应该可行)。不幸的是,以下代码无法使用MSVC 2010进行编译(我现在无法轻松访问gcc,因此我还没有尝试过)。有人知道为什么吗? template <typename derived_t> class base { public: typedef typename derived_t::value_type value_type; value_type foo() { return static_cast<derived_t*>(this)->foo(); } }; template <typename T> class derived : public base<derived<T> > { public: typedef T value_type; value_type foo() { return T(); //return some T object (assumes T is default constructable) } …

12
什么时候应该在C ++中使用typedef?
在我从事C ++(MFC)编程的那几年中,我从没有感觉到需要使用typedef,因此我真的不知道它的用途。我应该在哪里使用?在某些实际情况下,typedef首选使用吗?还是这真的是特定于C的关键字?
68 c++  typedef 

7
将'typedef'从基础类传播到'模板'的派生类
我试图定义只包含typedef的基类。 template<typename T> class A { public: typedef std::vector<T> Vec_t; }; template<typename T> class B : public A<T> { private: Vec_t v; // fails - Vec_t is not recognized }; 为什么在BI中收到无法识别Vec_t的错误,我需要显式地编写它? typename A<T>::Vec_t v;
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.