因此,如果我先保留(100),添加一些元素,然后调整大小(0)(或任何其他小于当前大小的数字),向量是否会重新分配内存以占用少于 100 个元素的空间?
问问题
1671 次
2 回答
6
vector<T>::resize(0)
不应导致重新分配或删除已分配的内存,因此在大多数情况下,最好使用vector<T>::clear()
.
有关更多详细信息,请参阅此问题的答案:std::vector resize down
于 2012-04-13T00:22:44.210 回答
2
对较小的计数而不是当前计数执行vector::resize(0)
or 不应释放任何内存。但是,它可能会破坏这些元素。
有关 的参考std::vector::resize
,请查看std::vector::resize
于 2012-04-13T00:36:06.097 回答