zoukankan      html  css  js  c++  java
  • 枚举enum

    创建符号常量,可以代替const。还可以定义新类型,但必须严格的限制进行。

    1 enum spectrum {red, orange, green, blue}
    • red等作为符号常量,对应整数值0-3
    • 这些常量叫做枚举量

    声明:

    1 spectrum band;

    在不进行强制类型转换的情况下,真能将定义枚举时使用的枚举量赋给这种枚举的变量。

    1 band = red; //正确
    2 band = 2000; //错误!

    枚举只定义了赋值运算符。


    枚举量是整型,可以被提升为int类型,但int类型不能自动转换为枚举类型。

    1 int color = blue;
    2 color = 3 + red; //red会被自动转换成int

    如果int值是有效的,则可以通过强制类型转换,将它赋给枚举变量。

    1 band = spectrum(2);

    枚举常用来定义相关的符号常量,而不是新类型。如果打算只使用符号常量,而不创建枚举类型的变量,可以省略枚举类型的名称:

    enum {red, green, blue};

    设置枚举量的值

    1 enum bits{one=1, two=2, three=3};//指定的值必须是整数
    2 
    3 enum bigstep {first, second=1000, third};//first默认为0,后面没有被初始化的枚举量的值比前面的枚举量值大1,third=1001
    4 
    5 enum {zero, null=0, one, numer=1};//zero=0,one=1

    枚举的取值范围

    1 enum bits{one=1, two=2, three=8};
    2 bits myflag;
    3 myflag bits(6);//6不是枚举值,但是位于枚举定义的取值范围。

    取值范围寻找方法:

    • 上限:大于最大值的最小的2的幂,再减一
      • 2^4=16 > 8 ,16-1 = 15,所以上限为15
    • 下限:如果最小值大于0,则下限为0;付过最小值小于0,计算方法同上限的计算方法,加符号。
  • 相关阅读:
    备库归档重新传命令
    DG 参数详解
    ACTIVATE STANDBY
    Matplotlib模块:绘图和可视化
    Django总结一
    Django之用户认证—auth模块
    最长上升子序列
    Pandas模块:表计算与数据分析
    Django ORM操作

  • 原文地址:https://www.cnblogs.com/pacino12134/p/10973556.html
Copyright © 2011-2022 走看看