[解決済み] 匿名列挙型の使用法
2023-09-02 09:29:18
質問
匿名の目的は何ですか?
enum
のような宣言をすることです。
enum { color = 1 };
と宣言すればよいのでは?
int color = 1
?
どのように解決するのですか?
列挙型はスペースを取らず、不変です。
もしあなたが
const int color = 1;
を使えば、ミュータビリティの問題は解決しますが、もし誰かが
color
(
const int* p = &color;
) の場合、そのためのスペースを確保する必要があります。これは大きな問題ではないかもしれませんが、明示的に
が欲しい
のアドレスを取得できるようにする必要があります。
color
のアドレスを取得できるようにしたい場合は、それを防ぐことができます。
また、クラス内で定数フィールドを宣言する場合、そのフィールドは
static const
(である必要があります(最近の C++ ではそうではありません)。
であり、すべてのコンパイラが static const メンバのインライン初期化をサポートしているわけではありません。
免責事項です。
この回答は、以下のようなアドバイスをするものではありません。
enum
を使えということではありません。あなた(またはあなたの同僚)がより読みやすいと思うことをすればいいのです。この回答は、いくつかの理由を挙げているだけです。
は
を使う方が良い。
enum
.
関連
-
[解決済み】「std::operator」で「operator<<」にマッチするものがない。
-
[解決済み] to_string は std のメンバーではない、と g++ が言っている (mingw)
-
[解決済み] Java enumのメンバーを比較する:==またはequals()?
-
[解決済み] ルール・オブ・スリーとは?
-
[解決済み] Javaで文字列値からenum値を取得する方法
-
[解決済み] なぜテンプレートはヘッダーファイルでしか実装できないのですか?
-
[解決済み] C#の[Flags]Enum属性の意味とは?
-
[解決済み] switch文の中で変数を宣言してはいけないのはなぜですか?
-
[解決済み] enumとは何か、なぜ有用なのか?
-
[解決済み】C/C++の"-->"演算子とは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] エラーが発生する。ISO C++は型を持たない宣言を禁じています。
-
[解決済み】C++ - 解放されるポインタが割り当てられていないエラー
-
[解決済み】C++のGetlineの問題(オーバーロードされた関数 "getline "のインスタンスがない
-
[解決済み】C++ 式はポインタからオブジェクトへの型を持っている必要があります。
-
[解決済み] クラスにデフォルトコンストラクタが存在しない。
-
[解決済み] 既に.objで定義されている-二重包含はない
-
[解決済み】ファイルから整数を読み込んで配列に格納する C++ 【クローズド
-
[解決済み] 非静的データメンバの無効な使用
-
[解決済み】エラー:不完全な型へのメンバーアクセス:前方宣言の
-
[解決済み】1つ以上の多重定義されたシンボルが見つかる