删除元素后,(c ++)向量是否收缩?

Cha*_*ich 7 c++ memory-management vector

每次添加元素时,每次空间用完时,矢量都会增加一倍,但是当你删除元素时呢?假设您向数组添加了800个元素,并且在添加第800个元素时,向量将其大小加倍,以便能够容纳1600个元素.现在如果你开始把元素拿走到它唯一的持有5或10个元素的点上怎么办?

它是否会认识到向量远小于为未来元素保留的空间大小的一半并且保留更少的空间?

Nei*_*irk 7

移除元素时,矢量不会降低容量!这是为了允许将来的元素有效地添加到现有缓冲区中.

  • @AlexD很快就没有答案了.随意编辑答案或发布自己的答案.我要去睡觉了. (2认同)