10/04/21 11:15:06
URLリンク(codepad.org)
のコードを g++ 4.3.2 で最適化なしコンパイルして実行したら,
--Start 1--
Destructor
Destructor
--End 1--
--Start 2--
Destructor
--End 2--
Destructor
という結果になった.
(Start 2 と End 2 の間にもう1つの"Destructor"があることを期待していた)
G++ だと,返されるオブジェクトが関数のローカル変数の場合は,
戻り値用の一時オブジェクトは作成されない仕様なの?