enum

来源:互联网 发布:混乱枪战软件下载 编辑:程序博客网 时间:2024/04/28 21:59
顾名思义,enum就是enumerate的缩写,在C++中表示所修饰的复合结构是一个枚举类型的结构。
enum在C++中是一种创建符号常量的方法。例如
enum myestruct{red,blue,green}
这个枚举类型中的red=0,blue=1,green=2,它们更像预定义中的符号常量,当然,也有点类似于const。不过与const不同的是,const是可以取到地址的,而枚举中的符号常量则不行,这也可以看作是安全性上的加强吧。
另外,需要注意的是enum类型中符号常量的运算和取值范围:
1.  enum可以在定义时被赋予int值或是long值。
2.  enum若是不赋初值,则默认从0开始,依次递增1。
3.  enum在定义时可以给不同的符号常量赋予相同的值,也可以给任意常量赋予任何值,该常量之后的符号常量值依次递增1。如若是
          enum myestruct{red,blue=100,green}
则red是0,green是101.
4.   enum的取值范围。一个enum的最大取值是大于当前enum中的最大值的,最小的2的次方减1。而当enum的最小值大于0时,最小取值就是0;若是小于0时,求得过程同最大取值的求取过程。
5.   enum中的符号常量只能进行符号常量间的赋值运算,如red=blue,且不能被赋予普通的数值,如red=1是错误的。但是可以通过强制转换来使得这样的赋值成立,前提是赋予的值在该enum的取值范围中,如red=myestruct(2)。
原创粉丝点击