STL:Vector向量

头文件: <vector>

存储方式:顺序容器,类似数组,开辟整块内存进行顺序存储。在虚拟内存空间是整块的。

内存管理:vector会有内存迁移能力,当当前内存不够用时,就会重新开辟一块大内存将数组整体复制过去,再释放以前的内存,这样效率会很低。

当发生内存重新分配以后,以前所有迭代器对象会全部失效。

看个图:


常用方法:

reserver():预留一定的空间,改变capcaity,不改变size,会分配内存,但是不构造对象。

resize()  :用来改变vector的size,可能会改变capacity,会初始化多出来的对象。

以上两个方法都是用于vector做内存管理,使用恰当可以检查relocate memory次数。

push_back(100):在尾部添加元素,是在如上图的finsh指针后添加元素。传入参数为对应元素。

insert():指定位置插入元素。

erase():删除元素,删除元素之后,被删除元素之后所有元素的迭代器失效,并且返回下一个元素的迭代器。会返回下个元素的迭代器。

pop_back():删除末尾的元素。

clear():清空vector。

size():返回vector的size。

capacity():返回vector的容量。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值