关于c ++:为什么要使用typedef来声明一个结构?


Why use typedef for declaring a structure?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Difference between 'struct' and 'typedef struct' in C++?

两者之间有区别吗

1
2
3
typedef struct{
....
} mystruct;

1
2
3
struct mystruct{
....
};


在C语言中,声明一个结构的语法是struct mystruct var;,因此开发人员经常使用匿名结构进行typedef,使声明像mystruct var;一样简单。C++允许您在没有EDCOX1的3个关键字的情况下定义结构,因此使用较少的TyPIFF。


它在C++中是没有用的。在C中,这是因为结构有自己的命名空间(如果不将typedef类型化为其他类型,则需要编写struct T)。


这个习语通常用在C语言中,结构变量需要声明为struct StructName myStruct,而StructName myStruct不起作用。它在C++中不是必需的。


C++没有真正的区别。