什么时候应该使用构造函数直接在类/结构体内部初始化数据成员?
struct A{
int x;
A() : x{3} {}
};
struct B{
int x{3};
};
以上两种方法效果相同。
最佳答案
如果值取决于构造函数参数,则必须使用成员初始化列表。如果单独的构造函数应使用不同的值初始化成员,则也必须使用它。还必须在C++ 11之前使用它,因为这是引入默认成员初始化程序的语言版本。
否则,选择权取决于程序员。缺省成员初始化程序对于避免使用相同的常量值进行初始化的构造函数以及具有更简洁,更简单的语法的构造器而言是有用的。
关于c++ - 在类体内初始化数据成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61477873/