C++11 スコープの列挙型

1 列挙型 クラスMyEnum{
 2      P1 = 1 ,
 3      P2,
 4      P3,
 5      P4,
 6      P5
 7  };
8  
9 MyEnum myEnum = MyEnum::P2;

スコープを使用して P2 の値を取得および制限します。スコープを使用する理由は、あいまいさを避けるためです。たとえば、次のことを考えてみましょう

enum クラスEnum1{ 
    P1 = 1 , 
    P2 = 2 
}; 

enum クラスEnum2{ 
    P1 = 10 , 
    P2 = 11 
};

2 つの列挙型は同じ要素名を持ちますが、Enum1 myEnum = P2 が引き続き実行されると、この P2 は誰の P2 なのかというあいまいさが生じます。したがって、この式はC++11で導入されました

 

スコープ内の列挙型は cout で直接出力できませんが、int 型に変換できます。

cout << int ( myEnum ) << endl;

 

追加して一緒に進歩することを歓迎します

転載先:https://www.cnblogs.com/Yukisora/p/8857294.html

おすすめ

転載: blog.csdn.net/a1808508751/article/details/101353101