一、特点
- 内存空间只会增加,不会减少
- vector内存是连续的
- 不同平台增长方式不一样
gcc:翻倍增长
vs:0.5倍增长
二、增长特征
- 无参构造,连续插入一个,增长方式1,2,4,8……
- 有参构造,连续插入一个,增长方式10,20,40……
三、增长时具体是什么
- 翻倍
- 将原来容器内存中数据拷贝到新的内存中
- 释放原来内存空间
- 插入新加元素
四、注意
- 怎么清理内存
swap空容器
C++11 shrink_to_fit释放无用空间 - vector当中元素为指针,不会调用析构,需手动释放内存
推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家:
零声白金学习卡(含基础架构/高性能存储/golang云原生/音视频/Linux内核)
https://xxetb.xet.tech/s/VsFMs