enum ABC{
A,
B,
C=5,
D,
E
};
Run Code Online (Sandbox Code Playgroud)
D和E是否保证大于5?
A和B是否保证小于5(如果可能)?
编辑:如果我说会发生什么C=1
Kir*_*sky 11
它受C++ Standard 7.2/1的保证:
枚举器列表中的标识符声明为常量,并且可以出现在需要常量的位置.带=的枚举器定义为关联的枚举器提供由constant-expression指示的值.常量表达式应为整数或枚举类型.如果第一个枚举器没有初始化器,则相应常量的值为零.没有初始值设定项的枚举器定义为枚举数提供了通过将前一个枚举数的值增加1而获得的值.