你是否恰当地使用了枚举------强烈建议对枚举进行显式赋值

      枚举看似简单, 但真正能用好的人并不多。 我在很多项目中看到了枚举的一些令人诟病的用法, 有时候, 不正确地使用枚举, 让人心烦意乱, 经常产生一些“值移位”等重大问题, 需要定位较长时间。

 

      看看教科书般的业余用法:

 

enum
{
	Red,
	Black,
	Green,
	Blue,
	White,
};

       这种用法的弊端在于, 当枚举多了后, 不能很快地看出White的值是多少, 那有的人这么搞:

 

 

enum
{
	Red=0,
	Black,
	Green=2,
	Blue,
	White=4,
};

       这种间隔N个进行赋值, 还是不能彻底解决问题, 且怕被人插。 那有的人这么搞:

 

 

enum
{
	Red,   // 0
	Black, // 1
	Green, // 2
	Blue,  // 3
	White, // 4
};

       这么多么垃圾的用法啊, 万一别人在枚举中插入一个值, 那么上面所有的注释都会起误导作用。 还是这么写吧:

 

 

enum
{
	Red=0,
	Black=1,
	Green=2,
	Blue=3,
	White=4,
};

       对枚举进行显式, 这样, 每个值很清晰, 也不怕被人插了。

 

 

      
       OK, 虽然简单, 但要注意。

 

 


 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值