memo
2013年3月15日金曜日
C++ move semantics
メモ
tmp
は暗黙的に右辺値と見なされる。
そして、返り値最適化(Return-Value-Optimization)を経て返される。
コンパイラがRVOを作動させない場合、返り値の型が持つmove constructorを経て返される。
コンパイラがRVOを作動させず、かつ、返り値の型がmove constructorを持たない場合、copy constructorを経て返される。
よって、以下のコードに無駄はない。 以下のように書いた場合、std::moveの記述がRVOを抑制してしまう。
参照先
0 件のコメント:
コメントを投稿
次の投稿
前の投稿
ホーム
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿