初始时 sum.size()=1;push_back()即扩容。
vector 容器扩容的过程需要经历以下 3 步:
- 完全弃用现有的内存空间,重新申请更大的内存空间;
- 将旧内存空间中的数据,按原有顺序移动到新的内存空间中;
- 最后将旧的内存空间释放。
这也就解释了,为什么 vector 容器在进行扩容后,与其相关的指针、引用以及迭代器可能会失效的原因。
版权声明:本文为weixin_56835068原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。