std::vectorのメモリ解放

vecotrで確保したメモリは、clearメソッドを呼んでも解放されず
デストラクタが来るまではずっとメモリを確保している。
そこで、以下の方法で解放することができる。

std::vector<int> hoge;

// hogeのresizeとclearを繰り返す。

// 解放
std::vector<int>().swap(hoge);

一時オブジェクトを作成し、そのオブジェクトとswapすると
hogeはサイズ0の一時オブジェクトと交換されるため、サイズが0となり
一時オブジェクトは、その場でデストラクタを呼んで消滅するため、メモリが解放される。