一直没怎么用过枚举enum,因为不会用,也不知道他的优点在何处,今天仔细看了看,以后要学着用了,很有必要:
看一些资料说枚举有助于减少buge,比较好奇,专门了解了下,原因如下
枚举类型是强类型的,从而保证了系统安全性。枚举可以限定参数的个数,对调用者的行为能更加严格地进行控制。把一些运行期的参数检查放到了编译期,这点很重要。
举个常用的例子,你要表示星期1-7,你可以用int1-7,但是当你把它作为参数的时候,有时后你就给考虑传入0,8的情况.而且用数字表示还需要相应的注释和文档.
这个时候你定义个一个枚举,名字就叫字面就叫Monday , Tuesday ,....就行,直观,并且值可控.
eg. enum Days {Sat,Sun,Mon,Tue,Wed,Thu,Fri};
ps: 默认从零开始,然后依次加一。即sat=0;sun=1....fri=6;
也可在初始化时给其赋值。
but:若有 enum Datys{sat=3,sun=2,mon,tue,wen,thu,fri} ,这样会有,mon也=3,即mon=sat。这个不会报错,但是使用的时候会产生问题,不建议使用。
原文地址:http://blog.csdn.net/hyqsong/article/details/41962455