>>853
いやスマン言い方がまずかったそういう意味ではない
確かに
>所有権を移動するかどうかはほぼ例外なくオブジェクト生成時点で予め分かってるんだから、
というのは真だが、ライブラリのインターフェースに解放が必要なオブジェクトのmoveなど認めたら有り得ないコストが生じるという話
func1()の制作者が所有権を寄越すことを強制した(そういうインターフェース仕様にしてしまった)場合、
func1()を使う人はfunc1()に所有権を渡さねばならない。この結果、
1. 呼び出し元(func1()を使う人)がaをコピーしてコピーをfunc1()に渡さねばならない
2. func1()は呼び出しの度に、aを解放する
というのが>>848のコードでn回無駄に繰り返される
これを避ける方法はあるっていやーあるが、結局func1()以下の呼び出しは全部>>844になる(か、ガベージコレクタの出番となる
人類に逃げ場は無い
C++相談室 part137
■ このスレッドは過去ログ倉庫に格納されています
854デフォルトの名無しさん (ワッチョイ 9fbd-G9Ql)
2018/09/30(日) 09:46:24.24ID:d4gXl3Bi0■ このスレッドは過去ログ倉庫に格納されています
