学习C++ – C++枚举器
C++ 枚举类型创建符号常量。
例如,考虑以下语句:
enum my_paint {red, orange, yellow, green, blue, violet, indigo, ultraviolet};
上面的代码使my_paint成为新类型的名称; my_paint被称为枚举,很像一个结构变量称为结构。
它建立红色,橙色,黄色等,作为整数值0?7的符号常量。
这些常量称为枚举器。
值
默认情况下,枚举器为第一个枚举器分配整数值,从0开始,第二个枚举器为1,等等。
您可以通过显式分配整数值来覆盖默认值。
您可以使用枚举名称来声明枚举类型的变量:
my_paint band; // band a variable of type my_paint
没有类型转换的枚举变量的有效值是用于定义类型的枚举值。
band = blue; // valid, blue is an enumerator
因此,my_paint变量仅限于八个可能的值。
您可以为枚举赋值一个int值,前提是该值有效,并且使用了一个显式类型转换:
band = my_paint(3); // typecast 3 to type my_paint
设置枚举值
您可以使用赋值运算符显式设置枚举器值:
enum bits{one = 1, two = 2, four = 4, eight = 8};
赋值的值必须是整数。您还可以明确定义一些枚举器:
enum bigstep{first, second = 100, third};
在这种情况下,首先默认为0。随后未初始化的枚举器比其前身大一个。
所以,第三个将具有值101。
最后,您可以创建多个具有相同值的枚举器:
enum {zero, null = 0, one, numero_uno = 1};
这里,零和零都是0,而one和numero_uno都是1。