首页 > 编程语言 > 详细

Why can two different enum enumeration-constants have the same integer value?

时间:2020-03-28 23:16:16      阅读:62      评论:0      收藏:0      [点我收藏+]

Why can two different enum enumeration-constants have the same integer value?

C enums are "really" integers -- not just because they happen to be implemented that way, but because the standard defines enum types to have integer values. So the value of today is "really" 0. All that has happened is that you‘ve created two different names for the value 0.

I suppose then that the answer to "is today MON or TUE" is "yes" ;-)

The language doesn‘t stop you because occasionally it‘s useful for an enum to have multiple names for the same value. For example:

enum compression_method {
    COMP_NONE = 0,
    COMP_LOW = 1,
    COMP_HIGH = 2,
    COMP_BEST = 2,
    COMP_FASTEST = 0,
};

排查问题的话,只要搜一下,是不是重复的赋值

Why can two different enum enumeration-constants have the same integer value?

原文:https://www.cnblogs.com/chucklu/p/12589784.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!