ご冥福をお祈りします
[任天堂HP] 「代表取締役社長の逝去および異動に関するお知らせ(訃報)」を掲載しました。http://t.co/3u7PhVts1L
— 任天堂株式会社 (@Nintendo) 2015, 7月 12
任天堂の岩田社長が逝去されたそうです。
確かにやせてはいたけど、亡くなるなんて、そんな様子全然なかったのに!
めっちゃショックΣ(゚д゚lll)
ご冥福をお祈りします。
【C++11】スコープ付きenum
通常のenum
の列挙子は、その enum が定義されているスコープに属すため、同じスコープに列挙子と同じ名前の変数などがあると名前の衝突が起こります。*1
int White; enum Color { Black, White }; // エラー! White を再定義している
衝突を避けるために、
// こんな感じで頭に型名をつけるとか、 enum Color { Color_Black, Color_White }; Color color = Color_White; // 構造体などの別のスコープに突っ込むとかする必要がある struct Color { enum ColorType { Black, White }; }; Color::ColorType color = Color::White;
上のような工夫をする必要がありました。
C++11からは、enum class
もしくはenum struct
を使えば、「enum型名::列挙子」の形のアクセスができるようになりました(スコープ付き列挙型)。
int White; enum class Color { Black, White }; // OK // 型名::列挙子でアクセスする Color color = Color::White;
スコープ付き列挙型におけるclass
とstruct
の間に違いはないらしいです。
また、列挙子単体でのアクセスはできません。
*1:列挙子と同じ名前のクラスなどは定義できる