C++中typedef enum 和 enum

在C++中,这两种定义枚举类型的关键字用法和效果相同,推荐使用前者。typedef enum多用在C语言中。

在C语言中,如果使用typedef enum定义一个枚举类型,比如:

1 typedef enum TokenType
2 {
3     blah1 = 0x00000000,
4     blah2 = 0X01000000,
5     blah3 = 0X02000000
6 } MyType;

则可以通过 TokenType MyType 使用所定义的枚举类型。

如果使用enum定义一个枚举类型,比如:

1 enum TokenType
2 {
3     blah1 = 0x00000000,
4     blah2 = 0x01000000,
5     blah3 = 0x02000000
6 }MyType;

则需要通过 enum TokenType MyType 使用所定义的枚举类型。

ref:

[1] https://stackoverflow.com/questions/385023/why-do-you-use-typedef-when-declaring-an-enum-in-c

猜你喜欢

转载自www.cnblogs.com/niceland/p/0x0003.html
今日推荐