前言
本文主要介绍C++中STL中的vector和deque容器
7.3:vector容器
7.3.1:vector容器基本概念、特点和构造函数
vector和数组的区别:数组是静态空间,一旦指定大小,之后就不能发生改变。vector可以动态扩展,当vector容器空间不够时,它不是在当前位置之后继续扩展,而是找一块更大的内存空间,将之前的数据拷贝一份过来,释放原来的空间。
vector常见构造函数(无参、通过另一个vector的区间、指定相同数据和个数、拷贝构造)
7.3.2:vector的赋值操作(operator=、assign)
7.3.3:vector容量和大小(empty、capacity、size、resize)
7.3.4:vector插入和删除(push_back、pop_back、insert、erase、clear)
insert(迭代器、ele)或者insert(迭代器、个数、ele)
erase除去vector中的元素
clear可以将容器清空
7.3.5:vector数据存取(at、operator[]、front、back)
7.3.6:vector互换容器(swap、使用匿名对象收缩内存)
基本操作
当一个容器的capacity很大时,但是size很小,这时就会浪费空间。使用匿名对象和当前vector对象进行交换,交换之后vector和匿名对象容器互换。匿名对象在当前行结束之后就会被系统回收,释放相关资源,这样也不会造成资源浪费。