C++結(jié)構(gòu)體的初始化方法有以下幾種:
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
需要注意的是,結(jié)構(gòu)體的默認(rèn)構(gòu)造函數(shù)(沒有參數(shù)的構(gòu)造函數(shù))只有在沒有定義其他構(gòu)造函數(shù)時(shí)才會(huì)自動(dòng)生成,如果定義了有參數(shù)的構(gòu)造函數(shù),則需要自己實(shí)現(xiàn)默認(rèn)構(gòu)造函數(shù)。