Ale*_*int 15 c++ std c++11 c++03 c++98
可能重复:
std :: vector向下调整大小
如果我resize()的std::vector尺寸小于其当前尺寸,那么矢量是否可能会分配新内存?
出于性能原因,这对我很重要.
resize()当reduce只改变逻辑大小时.其他人已经回答了这个,所以我在这里没有添加任何内容.这样做的目的是优化速度,因为它不需要重新分配或移动任何数据.
但是,当你想要优化内存使用时,C++ 11引入了一个shrink_to_fit()你可以在你resize()(甚至在任何其他时间)之后调用的另一个函数,这实际上可以确保你不需要支付你不想要的任何内存. .