[解決済み] 構造体のデフォルト値を初期化する
2022-03-08 07:37:10
質問
C++の構造体の一部の値のみを初期化する必要がある場合、これは正しいでしょうか?
struct foo {
foo() : a(true), b(true) {}
bool a;
bool b;
bool c;
} bar;
を1つ持つことになると考えてよいのでしょうか?
struct
という項目があります。
bar
という要素で
bar.a = true
,
bar.b = true
と未定義の
bar.c
?
解決方法は?
はい。
bar.a
と
bar.b
はtrueに設定されますが
bar.c
は未定義です。 ただし、特定のコンパイラではfalseに設定されます。
実例をこちらでご覧ください。 構造体
C++規格8.5.12項による。
初期化が行われない場合 自動的または動的な保存期間を持つオブジェクトは不定な値を持つ
プリミティブな組み込みデータ型( ブール char, wchar_t, short, int, long, float, double, long double) のみです。 グローバル 変数(すべての静的ストレージ変数)は、明示的に初期化されていない場合、デフォルト値として0を取得します。
もし、未定義の
bar.c
と同じように初期化する必要があります。
bar.a
と
bar.b
.
関連
-
[解決済み】 != と =! の違いと例(C++の場合)
-
[解決済み】変数 '' を抽象型 '' と宣言できない。
-
[解決済み】なぜ、サイズ8の初期化されていない値を使用するのでしょうか?
-
[解決済み] 変数サイズのオブジェクトが初期化されないことがある c++
-
[解決済み] C++でクラスと構造体はいつ使い分けるべきか?
-
[解決済み] C++の'struct'と'typedef struct'の違い?
-
[解決済み] C++の規格では、初期化されていないboolがプログラムをクラッシュさせることは可能ですか?
-
[解決済み】画像処理。コカ・コーラ缶」認識のためのアルゴリズム改良
-
[解決済み】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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C++ 非推奨の文字列定数から「char*」への変換について
-
[解決済み】C++でユーザー入力を待つ【重複あり
-
[解決済み】C++コンパイルタイムエラー:数値定数の前に期待される識別子
-
[解決済み】'cout'は型名ではない
-
[解決済み] 既に.objで定義されている-二重包含はない
-
[解決済み】C++プログラムでのコンソールの一時停止
-
[解決済み】クラステンプレートの使用にはテンプレート引数リストが必要です
-
[解決済み] 解決済み] `pthread_create' への未定義の参照 [重複] [重複
-
[解決済み】C++ - 適切なデフォルトコンストラクタがない [重複]。
-
[解決済み】なぜ、サイズ8の初期化されていない値を使用するのでしょうか?