STL容器之 vector
vector是顺序容器,元素线性排列,使用连续内存。因此我们可以使用元素指针经过算数运算来引用其它元素。例如
vector容量相关函数
函数
说明
size
返回vector中的元素数量
resize
改变vector中的元素数量。如果参数大于当前size,则在尾部填充默认值或指定值;如果参数小于当前size,则自动放弃尾部的元素,以使元素数量等于参数。
max_size
返回vector的最大容量
capacity
返回vector目前分配内存的容量
reserve
改变capacity,使capacity至少为参数n。此函数不影响vector的元素数量,即size返回的值。
empty
判断vector是否为空。
5、元素访问
vector元素访问函数
函数
说明
operator[]
通过下标引用元素。注:下标不要越界,此函数不检查下标越界。相比较来说,使用迭代器要更安全。
at
通过下标引用元素。与operator[]的区别为,此函数在下标越界时将抛出std::out_of_range异常。
front
返回vector的第一个元素的引用。注,与begin不同,begin返回指向第一个元素的迭代器。注,如果vector为空,则此调用行为未指定。
back
返回vector的最后一个元素的引用。如果vector为空,此函数调用行为未指定。
6、修改方法
vector修改方法
函数
说明
assign
为vector赋新值。原有元素直接舍弃。
push_back
在vector尾部插入一个新元素。
pop_back
删除尾部的一个元素。如果vector为空,调用此函数很危险。
insert
在指定位置之前插入1个或多个元素。
erase
删除1个或多个元素
swap
交换两个数组的元素。
clear
删除所有元素,并调用元素的析构函数。