我读过一些有关为枚举提供默认值的信息,例如:
typedef enum {
MarketNavigationTypeNone = 0,
MarketNavigationTypeHeirachy = 1,
MarketNavigationTypeMarket = 2
} MarketNavigationLevelType;
..但我不记得这样做的值(value)。如果我不给他们默认值-后来有人重新排序枚举-有什么风险?
如果我总是使用枚举名称,甚至不使用它们的整数值来引用它们,那么会有任何风险吗?
我能想到的唯一可能的问题是,如果我正在从数据库的int值初始化一个枚举-并且该枚举已重新排序-那么该应用程序将崩溃。
最佳答案
通常,这仅在枚举暴露于某种外部API或将用于通过数据文件或其他方式交换数据时才重要。如果枚举仅在您的应用程序中使用,而在其他任何地方都没有,则实际值无关紧要。