vector 的push_back与迭代器的问题(自己的记录)

  • Post author:
  • Post category:其他


初始时 sum.size()=1;push_back()即扩容。

vector 容器扩容的过程需要经历以下 3 步:

  1. 完全弃用现有的内存空间,重新申请更大的内存空间;
  2. 将旧内存空间中的数据,按原有顺序移动到新的内存空间中;
  3. 最后将旧的内存空间释放。

这也就解释了,为什么 vector 容器在进行扩容后,与其相关的指针、引用以及迭代器可能会失效的原因。



版权声明:本文为weixin_56835068原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。