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

|