我在其他地方见过给像这样枚举的默认值:的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