我在其他地方見過給像這樣枚舉的默認值:的Objective-C/C給枚舉的默認值
typedef enum {
MarketNavigationTypeNone = 0,
MarketNavigationTypeHeirachy = 1,
MarketNavigationTypeMarket = 2
} MarketNavigationLevelType;
..但我不記得這樣做的價值。如果我不給他們默認值 - 然後有人在重新排序枚舉 - 有什麼風險?
如果我總是使用枚舉名稱,甚至不用它們的整數值引用它們,是否有任何風險?
我能想到的唯一可能的問題是,如果我初始化一個來自數據庫的int值的枚舉 - 並且枚舉被重新排序 - 那麼應用程序將會中斷。
「默認值」 - 是的,我知道他們是不變的 - 我只是用了錯誤的名詞。 你沒有提到在應用程序之外存儲枚舉的事實,然後重新初始化它們? – bandejapaisa 2010-06-28 15:38:22
@ban:如果外部接口不使用具有等效定義的枚舉,則會明確地爲它們分配一些整數值。 – 2010-06-28 17:11:58