shrink to fitとrvalue
コンテナが要素のために確保してるサイズをきっちり現在のサイズ分だけにすることをshrink to fitとか言う。
std::vector
More C++ Idioms/縮めて合わせる(Shrink-to-fit) - Wikibooksv;
//... たくさんの push_back と、たくさんの v に対する削除
//その結果、v のサイズは小さいが、容量は大きい。
std::vector(v).swap (v);
ここに書いてあるのだとrvalueのswapメンバ関数をlvalueに対して呼び出してるけど、
これlvalueからrvalueに対してswapを呼び出せばMoveコンストラクタが働いて速くなるかも?*1とか
std::vector<int> v; v.swap(std::vector<int>(v));
std::vector
関連リンク
rvalue referenceむずい - Humanity
rvalue reference - 続き - Humanity
本の虫: rvalue reference 完全解説
本の虫: rvalue reference 補足
どうでもいい話
ブログ書いてるとコードが書けなくなる。
ついでに他のやるべきこともできなくなる。
元々してn(ry
*1:引数がrvalueなswapが用意されていれば