来自文章:C++ 之 enum 枚举量声明、定义、使用与强类型枚举详解 | 菜鸟教程
a
a
a
一.自定义枚举量的值:
(1)通过定义默认按照顺序从0开始(全是整数)对枚举量进行赋值:
enum enumType {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday};
//这里默认赋值 Monday = 0;
// Tuesday = 1; Wednesday = 2; Thursday = 3;
// Friday = 4; Saturday = 5; Sunday = 6;
(2)也可以显式的设置所有枚举量:
注意:指定的值必须是整数
enum enumType {Monday=1, Tuesday=2, Wednesday=3, Thursday=4, Friday=5, Saturday=6, Sunday=7};
(3)也可以只显式的制定一部分枚举量:
注意1:未被初始化的枚举值的值默认将比其前面的枚举值大1
注意2:枚举量的值可以相同
enum enumType {Monday=1, Tuesday, Wednesday=1, Thursday, Friday, Saturday, Sunday};
//这里默认赋值:
//Monday = 1; Tuesday = 2;
//Wednesday = 1; Thursday = 2; Friday = 3; Saturday = 4; Sunday = 5;
a
a
a
a
a
二.枚举变量的取值范围:
enum enumType {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday};
enumType Weekday;
//合法操作:
Weekday = enumType(2);
//不合法操作:
Weekday = enumType(20);
(1)枚举变量的上限值:枚举的上限是【大于最大枚举量的】【最小的2的幂】【再减去 1】
假如定义enum enumType1 { First=-5,Second=14,Third=10 }; 则枚举的上限是16-1=15(16大于最大枚举量14,且为2的幂)
(2)枚举变量的下限值:
规则1:枚举量的最小值不小于 0,则枚举下限取 0
规则2:枚举量的最小值小于 0,则枚举下限是【小于最小枚举量的】【最大的2的幂】【再加上 1】
假如定义 enum enumType1 { First=-5,Second=14,Third=10 }; 则枚举的下限是-8+1=-7(-8小于最小枚举量-5,且为2的幂)
a
a
a
a
a
三.枚举的应用:
枚举和 switch语句 是最好的搭档
个人人为枚举最大的作用就是批量创造符号常量,而不用使用define关键字一个个定义,和switch语句配合使用创造一系列case值