STL容器浅析(c++11)-vector
vector(不定长数组)——动态数组
C++官方介绍: http://www.cplusplus.com/reference/vector/vector/?kw=vector
建议直接看官方资料,全面详细。
c++11的新特性用(c++11)圈出来了
特性
①线性储存,读元素很快,删除和增加元素可能成本较大。
②当增加容量时,需要将整个vector搬到更大的空间中,所以根据原本的size,会分配更大的capacity。
③注意这种容器在进行大容量的操作时效率不是很高。
④相对于普通数组,vector用空间换取了更高的效率。
迭代器Iterators:
一般使用vector< T >::iterator iter设置迭代器
迭代器有:
v.begin()
迭代器返回开头位置(首元素位置)
v.end()
迭代器返回结尾位置(最后元素的下一个位置)
v.rbegin()
反向迭代器返回反向开头位置(最后元素位置)
v.rend()
反向迭代器返回反向结尾位置(最前元素的上一个位置)
下面四个和上面类似,但是不能修改元素。
(c++11)v.cbegin()
(c++11)v.cend()
(c++11)v.crbegin()
(c++11)v.crend()
容量操作:
v.size()
返回当前元素数目(区别于容量capacit