在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
