enum MyEnum
{
aa=8,
bb,
cc,
dd,
ee ,
};
MyEnum tes = ee;
cout <<tes;
对于这样一个枚举类型定义,经过测试,aa之后的元素取值为8,9,10,11,12。
但是,当枚举类型定义为
enum MyEnum
{
aa,
bb,
cc=8,
dd,
ee ,
};
MyEnum tes = ee;
cout <<tes;
时,元素的取值为0,1,8,9,10.
好了,到此应该和清楚了,这个规律几乎和switch语句执行顺序一样,如果未遇到初始化的元素,则从第一个元素默认取值为0,并逐个递增,一旦遇到显示初始化的元素,则该元素以及之后的元素由该初始化值逐渐递增来初始化。