C++的enum工具提供了一种创建符号常量的方式,这种方式可以代替const
1.创建enum枚举

这语句完成工作:1.让weekday成为新类型的名称,2.让sun、mod、tue等作为符号常量,它们对应整数值0~6.这些常量叫做枚举量。
也可以自定义枚举量的值,指定的值为整数。没指定的自动根据前一个加1,第一个默认是0.可重复指定(比如两个1)。

2.声明此类枚举类型变量

也可在定义枚举量时同时定义枚举变量,如:
这种类型的变量特性:不进行强制类型转换的情况下,只能将定义枚举时使用的枚举量赋给这种枚举的变量。
如:today = sun;//正确
today = 0; //错误
VS里会自动报错:
而枚举量是整型,可以直接被提升为int型给其他值赋值。如:
此时yesterday值为1。
但可通过强制类型转换,将int值赋给枚举变量:
此时today打印出来为4.但强制类型转换的数字要在枚举的取值范围内。
总结:声明的枚举类型变量,可由枚举类型符号常量直接赋值,但不可以由int类型直接赋值,int类型要想赋值给枚举类型变量,满足两个条件:int数字要在枚举的取值范围内,要加上强制类型转换。
关于将int值赋值给枚举变量取值范围,从C++PrimerPlus截出:

最后
以上就是感动保温杯最近收集整理的关于C/C++enum枚举类型及赋值范围的全部内容,更多相关C/C++enum枚举类型及赋值范围内容请搜索靠谱客的其他文章。
发表评论 取消回复