トップページ > プログラム > 2016年04月27日 > GuBYWkr/0

書き込み順位&時間帯一覧

13 位/149 ID中時間01234567891011121314151617181920212223Total
書き込み数0110000000000000000000002



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん (ワッチョイ 617b-3Kaz)
デフォルトの名無しさん (ワッチョイ 617b-7Ba6)
C++相談室 part124 [無断転載禁止]©2ch.net

書き込みレス一覧

C++相談室 part124 [無断転載禁止]©2ch.net
247 :デフォルトの名無しさん (ワッチョイ 617b-3Kaz)[]:2016/04/27(水) 01:49:55.63 ID:GuBYWkr/0
こういうのは値渡しでswapした方がいいって事知らねえの?
C++相談室 part124 [無断転載禁止]©2ch.net
249 :デフォルトの名無しさん (ワッチョイ 617b-7Ba6)[]:2016/04/27(水) 02:12:47.40 ID:GuBYWkr/0
>>243

例えば
void assign(const std::vector<double>& v){
member = v;
}
こうだと必ず1度コピーが動く。

void assign(std::vector<double> v){
member.swap(v);
}
こうだと引数がrvalueの場合最適化でコピーが動かない場合があるし、
C++11ならmoveになる。
swapのコストが低いのは言わなくてもわかるよね。
lvalueの場合でもコピーは1度

C++11以降で
void assign(const std::vector<double>& v);
void assign(std::vector<double>&& v);
二つ書いたときとのコスト差はswapのみ


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。