当前位置: 移动技术网 > IT编程>开发语言>C/C++ > C++11 作用域内枚举

C++11 作用域内枚举

2018年04月17日  | 移动技术网IT编程  | 我要评论

子母锁,88rr.us,蓬宇影院

1 enum class MyEnum{
2     P1 = 1,
3     P2,
4     P3,
5     P4,
6     P5
7 };
8 
9 MyEnum myEnum = MyEnum::P2;

使用作用域的方式获取并限定P2的值。之所以要使用作用域,是为了避免歧义。比如考虑以下情况

enum class Enum1{
    P1 = 1,
    P2 = 2
};

enum class Enum2{
    P1 = 10,
    P2 = 11
};

两个枚举,里面的元素名字一样,但是如果还是执行 Enum1  myEnum = P2 的话,会出现歧义:这个P2到底是谁的P2。所以c++11中推出了这种表达方式

 

作用域内枚举不能直接通过cout输出,可以把他转化为int型

cout << int( myEnum ) << endl;

 

欢迎补充,一同进步

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网