枚举是由程序员定义的类型,与类或结构一样。
(枚举就是一一列举,将所有的情况都列举出来,那么取值的时候只能是这几种情况的一种,不能是别的。摘自网友回答)
1.与结构一样,枚举是值类型。因此它直接存储他们的数据,而不是分开存储成引用和数据。
2.枚举只有一种类型的成员:命名的整数值常量;
关键字 enum
例:
enum simple{
Green, // 枚举声明中没有分号,成员声明列表是都好分隔开的;
Yellow,
Red
}
每个枚举类型都有一个底层整数类型,默认为int;
在默认情况下,编译器把第一个成员赋值为0,并对每一个后续成员赋的值比前一个成员多1;
二、
设置显示底层类型和显示值
可以把冒号和类型名放在枚举名之后,这样就可以使用int以外的整数类型。类型可以是任何整数类型。所有成员常量都属于枚举的底层类型。
如果不初始化一个成员常量,编译器隐式的给它赋一个值。(值为上一个成员变量加1)
三 位标志 (暂不理解)
程序员们长期使用单个字(single word)的不同位作为表示一组开/关标志的紧凑方法。称为标志字,枚举提供了实现它的方法。
一般步骤如下:
1)、确定需要多少个位标志,并选择一种有足够多位的无符号类型来保存它。
2)、确定每个位位置代表什么,并给他们一个名称。声明一个选中的整数类型的枚举,每个成员由一个位位置表示。
3)、使用按位或(or)运算符设置保持该位标志的字中的适当的位。
4)、使用按位与(AND)运算符,或HasFlag方法解开位标志。
网友评论