ho avuto il codice che si presentava così:Perché dovrei avere un'enumerazione dichiarata con typedef in C++?
enum EEventID {
eEvent1,
eEvent2,
...
eEventN };
E che ha ottenuto rivisti e modificati per
typedef enum {
eEvent1,
eEvent2,
...
eEventN } EEventID;
Qual è la differenza tra i due? Perché fare il cambiamento? Quando ho guardato a this question, l'unica menzione di typedef è stata downvoted.
Grazie per la delucidazione. Stavo cominciando a preoccuparmi se ci fosse ancora un altro angolo di C++ che pensavo di conoscere ma che ignorava completamente (vedi: il modello di ginnastica che i ragazzi di Boost fanno così facilmente) – mmr
"I due sono identici in C++" - vale la pena puntare che alcune informazioni di debug sull'implementazione possono differire in quanto il typedef è effettivamente un enum anonimo o casualmente chiamato, quindi le informazioni di debug possono documentarlo come tale piuttosto che come "EEventID". Ciò porta alcune persone a "typedef enum Idn1 {...} Idn2;', ancora più brutto, con uno tipicamente formato aggiungendo un prefisso o un suffisso all'altro :-(- non risolve esattamente il problema, ma fornisce alcuni più idn tracciabile. –