重複の可能性:
コンストラクターのショートカット
次のコードはC++でも同じですか?
ピース1:
MyFunnyClass o = MyFunnyClass();
ピース2:
MyFunnyClass o;
次のものが同等ではないことは承知していますが、上の2つについてはよくわかりません。
MyFunnyClass o = MyFunnyClass () ;
MyFunnyClass o;
o = MyFunnyClass();
重複の可能性:
コンストラクターのショートカット
次のコードはC++でも同じですか?
ピース1:
MyFunnyClass o = MyFunnyClass();
ピース2:
MyFunnyClass o;
次のものが同等ではないことは承知していますが、上の2つについてはよくわかりません。
MyFunnyClass o = MyFunnyClass () ;
MyFunnyClass o;
o = MyFunnyClass();
MyFunnyClass o () ;
これは、オブジェクトをまったく定義しません。これは最も厄介な解析です。o
は何も受け取らず、MyFunnyClass
宣言したを返す関数です。
実際の構文は次のようになります
MyFunnyClass o;
これはデフォルトでオブジェクトを構築します。
MyFunnyClass o = MyFunnyClass();
値-オブジェクトを作成し、それをコピーまたはに移動しo
ます。ここでエリジオンを期待してください。