首页 > 代码库 > enum枚举的意义

enum枚举的意义

一直没怎么用过枚举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。这个不会报错,但是使用的时候会产生问题,不建议使用。




enum枚举的意义