C++相談室 part71
■ このスレッドは過去ログ倉庫に格納されています
0337デフォルトの名無しさん
2009/08/09(日) 01:27:03MyClass foo()
{
//とても重い処理
return 〇〇;
}
この関数を呼び出した側で返り値を長く使いたい(ただし変更はしない)場合、
const MyClass retval
=foo();
とするべきか、
const MyClass& retval
=foo();
とするべきか
どちらが望ましいでしょうか?
コンパイラによる「戻り値最適化」が行われないとすれば前者は後者より重いと推測されますが、
コンパイラによる「戻り値最適化」が行われるとすれば前者は後者より参照の解決が不要な分 速いのではと思っているのですが、この理解で正しいでしょうか?
■ このスレッドは過去ログ倉庫に格納されています