GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing cpprefjp.github.io — スコープ付き列挙型のusing宣言 [P1099R5] - cpprefjp C++日本語リファレンス スコープ付き列挙型のusing宣言 [P1099R5](C++20)
このページはC++20に採用された言語機能の変更を解説しています。 のちのC++規格でさらに変更される場合があるため関連項目を参照してください。
概要名前空間のように、 仕様以下のusing enum宣言を導入する。
using enum宣言はトップレベル、ブロック内、クラスメンバの宣言として書くことができる。 using enum宣言した列挙型の列挙値は、そのスコープにおいて、スコープ指定を省略して列挙値の名前のみで参照できる。 また、using宣言で列挙値を指定できるようになる。このときは、指定した列挙値だけがスコープ指定を省略できるようになる。 対象とする列挙型はスコープを持つ列挙型でなくても構わない。 例出力
この機能が必要になった背景・経緯C言語形式の列挙型を改善するためにスコープを持つ列挙型が導入されたが、スコープを持っているために列挙値を参照するときに必ずスコープ解決演算子を使う必要があり、冗長に感じられる場合もあった。 そこで、列挙型のスコープを名前空間と同じようなものと捉えて、using宣言によって省略できるようにした。 これにより、C言語形式の列挙型をスコープを持つ列挙型へ置き換えるというリファクタリングをする際、(整数との暗黙変換を別とすれば)ソースコードレベルの互換性を保って置き換えることができるようにもなった。 関連項目参照 |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |