コンテナの余分な領域を取り除く方法

シュリンクツーフィットと呼ばれる方法。

vector<Hoge>(hoge).swap(hoge);

これでOK。まず、hogeの一時オブジェクトが作られるが、この一時hogeは余分な領域がない。次に一時hogehogeのデータがswapされる。そして、余分な領域のデータは一時hogeが解放された時点で削除される。

出展:Effective STL - 17項