7
C++ 11现在支持在声明时设定类成员字段的值,如下所示:C++ 11是否重新初始化初始化成员字段?
class MyClass
{
private
int test = 0;
}
如果我还在构造这样初始化变量:
class MyClass
{
private
int test = 0;
public:
MyClass() : test(1)
{
}
}
将这会导致变量的值被设置两次,或者该规范指示编译器应该优化它以仅初始化变量一次?如果规范没有规定任何东西,你是否知道着名编译器(例如MSVC,GCC等)的行为?