4 回答
TA贡献1858条经验 获得超8个赞
enum是C++中的枚举类型,以一系列字符串,来表示整型数字,起到更方便阅读维护代码的效果。
1 enum的定义:
enum 的定义形式如下:
1 2 3 4 5 6 7 | enum enum_name { enum_value1, enum_value2, ... enum_valuen }; |
如果没有定义enum变量的需求,enum_name可以省略。
在以上形式下,第一个值,enum_value1, 默认值为0,以下各条分别为上一条加一。
如果要改变enum的第一个值,或enum各个项值不连续,可以写作
1 2 3 4 5 6 7 8 9 10 | enum enum_name { enum_value1= -100, enum_value2, ... enum_valuem = 1234, enum_valuem1, ... enum_valuen }; |
其中显式赋值的enum项,实际值就是显式赋值的值。其它项仍遵从上一项加一的原则。
于是在这个例子中,enum_value2 = -99, enum_valuem1 = 1235。
2 enum 变量的定义:
定义一个变量的格式为
enum enum_type var = init_value;
定义一个enum_type为类型的变量var, 并初始化为init_value. 其中=init_value部分可以省略。
3 enum项的使用。
enum各个项使用方法类似于无参宏定义。在需要某值的地方,引用对应项即可。
如
var = enum_value1;
TA贡献1796条经验 获得超4个赞
不是,枚举类型可以用来定义变量,这点上说,它和int差不多,只不过每一个数值被赋予了特殊的含义,这样的好处是不容易出错,也不容易出现魔数,即让人无法理解的各种数字
最常用的好处是限定了数据,避免了类似(0代表失败,1代表成功,却发现数据是2)的情况。
枚举类型可以定义枚举类型变量,而宏不行,甚至于你的那几个宏会影响到正常程序(例如有个变量正好叫A)
- 4 回答
- 0 关注
- 1234 浏览
添加回答
举报