C++11 现在支持在声明时设置类成员字段的值,如下所示:
class MyClass
{
private
int test = 0;
}
如果我还像这样在构造函数中初始化变量:
class MyClass
{
private
int test = 0;
public:
MyClass() : test(1)
{
}
}
这会导致变量的值设置两次,还是规范规定编译器应该优化它以仅初始化变量一次?如果规范没有规定任何内容,您是否知道著名的编译器(例如 MSVC、GCC 等)对此的行为?