c++枚举

枚举

  • 可以用来创建符号常量,可代替const。
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。
  • 枚举的取值范围,有点不懂。

猜你喜欢

转载自www.cnblogs.com/yangzixiong/p/11960752.html