关于枚举(c++)

本文详细介绍了C++中枚举类型的定义、默认编号规则、自定义编号、枚举变量的处理方式及不同枚举间同名常量的解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

总是忘记一些枚举的使用细节,为了方便自己总结一下

定义格式:enum enumName {符号常量列表};(列表之间逗号隔开)

1.枚举定义时符号常量默认是从0开始自增1来编号的

2.当符号常量中如果有给定初值的常量,则此常量之前依然按默认编号,列表中给定初值的常量之后从初始化值开始自增1来自动编号

    例 enum enu1 {a,b=97,c};   此时a编号为0,c编号为98。初试化的值要求为整型值(char 值将作为其ASCii码,例中 b=97与b='a'等效)

3.枚举变量在程序中是作为整型来处理的,但其值的变化范围不能超出给定的常量范围(范围指列表中给定的所有确定编号值)

4.在不进行强制类型转换情况下,只能将定义时使用的枚举常量赋给相应的枚举变量。

5.当定义的多个枚举中有同名常量时,可使用作用域内枚举(c++11)。声明格式:enum  class  enuname{...};或者

enum struct enuname{...}; 此时枚举变量赋值时要加上域(枚举名)来限定.

举例:enum class enu1{a,b,c};

           enum class enu2{a=1,b,c};

           enu1  en1=enu1::a;

           enu2  en2=enu2::a;

cout<<(int)en1<<endl<<(int)en2<<endl;

输出结果为:

0

1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值