目录
常用函数:
front():返回当前vector容器中 起始元素的引用。
back():返回当前vector容器中末尾元素的引用。
begin():返回一个当前vector容器中起始元素的迭代器。
end():返回一个当前vector容器中末尾元素的迭代器。empy(): 判断向量是否为空,若是返回1,否则返回
size(): 获取向量中的元素个数
clear() //清空向量中的元素
insert : 插入
一.声明,初始化
数组是静态分配空间,分配后不可改变
vector是动态分配内存,随着元素的不断插入,按照自身的一套机制不断扩充自身的容量, vector容器的容量增长是按照容器现在容量的一倍进行增长。 先复制2倍的vector空间,再删除原来1倍的vector空间。空间复杂度增大。
也可使用数组初始化向量
<7>示例:
二.访问
1.和数组相似
2.使用迭代器
注意:
end()返回的却是末尾元素再下一个元素的迭代器(取最后一个元素的话用last()),好处是
1.判断是否到尾部简单只要!=end就行了,"<"运算在STL中是要避免的,因为计算量可能会比较大。
2.判断空区间较为简单begin()==end()。
endl; }
补充:
auto推导的类型如同
template <class T>
void f(const T&); 中T的类型一样
三.二维向量
创建的是一个"元素为向量"的向量。同样可以根据一维向量的相关特性对二维向量进行操作。
四.内存管理使用
参考:C++ vector内存管理使用解析-你真的学会vector了吗?