C++枚举类的一点备注

枚举是比较方便的列表,用来判断条件等特别方便

    enum hu
    {
        first,
        second,
        third = 100,
        forth,
    };
    hu dong;
    dong = hu(3);
    std::cout<<forth;
    std::cout<<dong;

以上面这个为例

1.枚举的变量只能是int,long或者long long等,但是不能为浮点数。

2.如果第一个没有定义,则默认是0,后面的默认比前面的多1,所以上面这个first是0,second是1,当手动赋值的时候,后面也是比前面的多1,所以forth是101,值可以是一样的,比如再声明一个five = 101也是可以的。

3.枚举里面的变量可以当做int型来计算,给其他的int类型赋值,但是不能为他自己的变量赋值

int m = first + 1; //可以
first = first+1;    //不可以,错误的

4.可以通过强制类型转换,将枚举取值范围中的任何整数值赋值给枚举变量。比如后面这个dong,3虽然不是枚举值,但是位于枚举定义的取值范围内。

枚举的取值范围是这样算的,找到大于枚举值最大值的2的幂的那个最小值,然后减去1,就是该枚举值的取值范围的上限,比如这个,枚举的最大值是101,大于101的又是2的幂次方的最小值是128,所以减去1,这个枚举值的上限是127,而下限是如果最小值不小于0,那么下限就是0,这个例子的下限就是0,但是如果枚举的最小值小于0,比如说是-6,那么比他小的最接近的那个是-8,然后这个值就加上1,所以取值下限是-7

Last modification:January 1st, 1970 at 08:00 am
如果看了这个文章可以让你少加会班,可以请我喝杯可乐
已打赏名单
微信公众号

Leave a Comment