2008年4月21日月曜日

swap技法

C++ STL vector, stringのswap技法は重要。
Effective STL P.76 「余分な容量を取り除くにはswap技法を使おう」

vector< int>().swap(vec);
string().swap(str);


string()で無名のstringオブジェクトを作成してそれとのswapを行う。
この時のコピーコンストラクタは最小限のメモリしか割り当てないため、余分なcapacityを削減できる。
この最小値は実装による。

0 件のコメント:

コメントを投稿