我的代碼是這樣的:爲什麼要在C++中使用typedef聲明枚舉?
enum EEventID {
eEvent1,
eEvent2,
...
eEventN };
這得到了審查,並改爲
typedef enum {
eEvent1,
eEvent2,
...
eEventN } EEventID;
兩者有什麼區別?爲什麼要改變?當我看着this question時,唯一提及的typedefs被降低了。
感謝您的洗脫。我開始擔心是否還有另一個關於C++的角色,我認爲我知道但完全不知道(參見:Boost中的傢伙很容易做到的模板體操) – mmr 2010-09-29 01:00:36
「這兩者在C++中是相同的」 - 值得指出在某些實現中,調試信息可能會因爲typedef實際上是匿名或隨機命名的枚舉而有所不同,所以調試信息可以將其記錄爲「EEventID」。這導致了一些人甚至更醜陋的'typedef enum Idn1 {...} Idn2;',其中一個通常通過向另一個添加前綴或後綴來形成:-( - 它並不完全解決問題,但提供了一些更可追溯的IDN。 – 2010-09-29 01:14:37