我在头文件中看到了以下内容
typedef enum Test__tag {
foo,
bar
} Test;
我想知道为什么使用 typedef;我可以用
enum Test{
foo,
bar
};
那正确吗?
我在头文件中看到了以下内容
typedef enum Test__tag {
foo,
bar
} Test;
我想知道为什么使用 typedef;我可以用
enum Test{
foo,
bar
};
那正确吗?
它适用于 C 用户。基本上当你走的时候typedef
,在C中你可以说
Test myTest;
而当你刚刚使用时enum Test
,你必须声明一个像这样的变量:
enum Test myTest;
如果只使用 C++,则不需要。所以它也可能只是由习惯这种风格的 C 程序员编写的。
是的,在 C++ 中,您x
只需编写即可在没有 typdef 的情况下声明
enum Test{
foo,
bar
};
Test x;
但是,如果您要在 C 中尝试相同的操作,则需要声明x
为
enum Test x;
或使用 typedef。
所以 typedef 可能是 C 遗留下来的一个习惯(除非头文件实际上是 C)。