- 【初心者歓迎】C/C++室 Ver.91【環境依存OK】
557 :デフォルトの名無しさん[sage]:2014/07/05(土) 20:19:37.34 ID:aJ+xLPrG - ムーブが重いクラスじゃ無かったら値渡しで受け取ってムーブすればいいんじゃない?
|
- 【初心者歓迎】C/C++室 Ver.91【環境依存OK】
561 :デフォルトの名無しさん[sage]:2014/07/05(土) 21:07:37.90 ID:aJ+xLPrG - >>559
>>560のように、値渡しで受け取ってメンバにムーブ代入する 実際コピー/ムーブ回数を数えてみると、ムーブ回数が一回増えるだけなので、ムーブが十分軽い操作なら問題は無い しかしstd::arrayのようにムーブが重い場合はオーバーヘッドが生じてしまうので注意
|
- 【初心者歓迎】C/C++室 Ver.91【環境依存OK】
564 :デフォルトの名無しさん[sage]:2014/07/05(土) 21:24:15.65 ID:aJ+xLPrG - いや、もうm1を使う事が無いからstd::moveしているんだろう
move後のオブジェクトが壊れているのは当然
|
- 【初心者歓迎】C/C++室 Ver.91【環境依存OK】
566 :デフォルトの名無しさん[sage]:2014/07/05(土) 21:37:32.66 ID:aJ+xLPrG - そもそもstd::moveがそういう意図を持った関数だからなあ
最適化は許可されているから後はコンパイラ次第
|