C++ 11は次のように、宣言時にクラスのメンバーフィールドの値を設定サポートしています。C++ 11は初期化されたメンバフィールドを再初期化しますか?
class MyClass
{
private
int test = 0;
}
私もこのようなコンストラクタで変数を初期化した場合:
class MyClass
{
private
int test = 0;
public:
MyClass() : test(1)
{
}
}
ますこれにより、変数にその値が2回設定されるか、またはコンパイラがこれを最適化して変数を1回だけ初期化するように指示します。仕様が何かを指示しない場合は、これに関する有名なコンパイラ(MSVC、GCCなど)の動作を知っていますか?