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
需要注意的是,結構體的默認構造函數(沒有參數的構造函數)只有在沒有定義其他構造函數時才會自動生成,如果定義了有參數的構造函數,則需要自己實現默認構造函數。