C/C++enum枚举类型及赋值范围

        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截出:


        

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值