我知道当超出向量的
我想知道的是...当一个向量缩小到其
向量是否会释放它们使用的内存,或者只有在向量被销毁时才能释放?
如果它们从不缩小,那么可能会浪费很多内存,但我从未听说过它们具有该功能。
capacity()
时,向量的大小会增加一倍。这个操作需要一些时间,这就是为什么向量应该具有平均常数时间来添加元素,使用push_back()
。我想知道的是...当一个向量缩小到其
size()
小于capacity()
的一半时会发生什么。向量是否会释放它们使用的内存,或者只有在向量被销毁时才能释放?
如果它们从不缩小,那么可能会浪费很多内存,但我从未听说过它们具有该功能。
std::set
、std::map
,或者你可以自己编写。 - dario_ramos