STLのreserveの挙動はstringとvectorで違う

# string の reserve() は現在より容量を減らせる
# vector の reserve() は現在より容量を減らせない
# string の reserve() は「指数的成長ポリシー」を発動する
# vector の reserve() は「指数的成長ポリシー」を発動しない

http://0xcc.net/blog/archives/000206.html