Yukisora
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;

 

欢迎补充,一同进步

分类:

技术点:

C++

相关文章:

  • 2021-04-28
  • 2021-05-01
  • 2019-01-15
  • 2021-09-07
  • 2018-04-24
  • 2021-08-28
  • 2022-01-15
猜你喜欢
  • 2021-12-09
  • 2020-05-02
  • 2019-11-02
  • 2021-12-06
  • 2021-11-27
  • 2021-06-03
  • 2021-05-29
相关资源
相似解决方案