C++の構造体の初期化方法は何ですか?
C++の構造体の初期化方法は以下のようにいくつかあります:
- 構造体を定義する際に、デフォルトメンバー初期化を利用することができます。例えば、以下のようにしてメンバ変数に初期値を設定することができます。
struct MyStruct {
int value1 = 10;
float value2 = 3.14f;
};
MyStruct obj; // 成员变量value1的值为10,value2的值为3.14
- 構造体オブジェクトを定義する際に、メンバイニシャライザリストを利用して構造体のメンバ変数に値を設定できます。例:
struct MyStruct {
int value1;
float value2;
MyStruct(int v1, float v2) : value1(v1), value2(v2) {}
};
MyStruct obj(10, 3.14f); // 成员变量value1的值为10,value2的值为3.14
- 構造体オブジェクトを定義した後、代入演算子を使用して構造体のメンバ変数に値を代入できます。例:
struct MyStruct {
int value1;
float value2;
};
MyStruct obj;
obj.value1 = 10;
obj.value2 = 3.14f; // 成员变量value1的值为10,value2的值为3.14
注意すべきことは、構造体のデフォルトコンストラクタ(引数のないコンストラクタ)は、他のコンストラクタが定義されていない場合にのみ自動生成されるということです。引数付きのコンストラクタが定義されている場合は、デフォルトコンストラクタを自分で実装する必要があります。