枚举

作者: 刈七七 | 来源:发表于2017-10-11 14:23 被阅读0次

    枚举是由程序员定义的类型,与类或结构一样。

    (枚举就是一一列举,将所有的情况都列举出来,那么取值的时候只能是这几种情况的一种,不能是别的。摘自网友回答)

    1.与结构一样,枚举是值类型。因此它直接存储他们的数据,而不是分开存储成引用和数据。

    2.枚举只有一种类型的成员:命名的整数值常量;

    关键字  enum

    例:

    enum simple{

    Green,   // 枚举声明中没有分号,成员声明列表是都好分隔开的;

    Yellow,

    Red

    }

    每个枚举类型都有一个底层整数类型,默认为int;

    在默认情况下,编译器把第一个成员赋值为0,并对每一个后续成员赋的值比前一个成员多1;

    二、

    设置显示底层类型和显示值

    可以把冒号和类型名放在枚举名之后,这样就可以使用int以外的整数类型。类型可以是任何整数类型。所有成员常量都属于枚举的底层类型。

    如果不初始化一个成员常量,编译器隐式的给它赋一个值。(值为上一个成员变量加1)

     三   位标志  (暂不理解)

        程序员们长期使用单个字(single word)的不同位作为表示一组开/关标志的紧凑方法。称为标志字,枚举提供了实现它的方法。

    一般步骤如下:

    1)、确定需要多少个位标志,并选择一种有足够多位的无符号类型来保存它。

    2)、确定每个位位置代表什么,并给他们一个名称。声明一个选中的整数类型的枚举,每个成员由一个位位置表示。

    3)、使用按位或(or)运算符设置保持该位标志的字中的适当的位。

    4)、使用按位与(AND)运算符,或HasFlag方法解开位标志。

    相关文章

      网友评论

        本文标题:枚举

        本文链接:https://www.haomeiwen.com/subject/njpiyxtx.html