7
C++ 11現在支持在聲明時設定類成員字段的值,如下所示:C++ 11是否重新初始化初始化成員字段?
class MyClass
{
private
int test = 0;
}
如果我還在構造這樣初始化變量:
class MyClass
{
private
int test = 0;
public:
MyClass() : test(1)
{
}
}
將這會導致變量的值被設置兩次,或者該規範指示編譯器應該優化它以僅初始化變量一次?如果規範沒有規定任何東西,你是否知道着名編譯器(例如MSVC,GCC等)的行爲?