typedef struct and enum, why?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicates:
Purpose of struct, typedef struct, in C++
typedef struct vs struct definitions
在我维护的代码中,我经常看到以下内容:
1 2 | typedef enum { blah, blah } Foo; typedef struct { blah blah } Bar; |
而不是:
1 2 | enum Foo { blah, blah }; struct Bar { blah blah }; |
我总是使用后者,这是我第一次看到前者。所以问题是,为什么一种样式会比另一种样式使用。有什么好处吗?它们的功能是否相同?我相信他们是,但不是100%确定。
在C++中,这并不重要。
在C语言中,
1 | struct S { }; |
所以你可以说
1 | struct S S; |
这意味着
1 | S myStruct; |
在C语言中,如果
它们是为了C兼容。正常的
1 | struct Bar { blah, blah }; |
与C不一样;