枚举#
enum spectrum {
red, orange, yellow, green, blue, violet, indigo, ultraviolet
};
- spectrum为新的类型。将red,orange等作为符号常量。他们对应的值为0~7。
- 默认情况下将整型赋给枚举量, 默认从0开始。
- spectrum band = 2000;//该语句将失败
- spectrum band = blue;//应该这样赋值
- ++band;//该语句没有意义
- band = red + orange;//该语句没有意义
- 枚举量是整型,可以提升为int。但int不能自动转换为枚举类型。
- band = 3;//该语句导致类型错误,但根据具体实现
- 如果int值在枚举类型中有效,那么可以通过强制类型转换,将其转换为枚举类型。
- 枚举常常用来定义符号常量, 而不是定义新类型。
- 可以使用赋值运算符显式的赋值。
enum bits{ one = 1, two = 2, four = 4, eight = 8};
- 可以创建多个值相同的枚举量。
- c++以前的版本只能将int赋给枚举量,现在可以使用long甚至long long。
- 枚举的取值范围,有点不懂。