构造函数
vector
的构造函数有以下几种重载
- 默认无参构造函数
- 使用
{}
内的内容初始化 - 使用一个以及存在的容器初始化
- 初始化为指定个数指定的内容
- 用数组进行初始化
注:所有的初始化方法都可以指定分配器,如下代码所示:
1 |
|
输出:
1 | a=[] |
元素访问
对于元素的访问,c++
提供了以下几种方法:
at
:访问指定元素,同时进行越界检测operator[]
:访问指定下标元素front
:访问第一个元素back
:访问最后一个元素data
:返回指向内存中数组第一个元素指针
at
1 |
|
输出:
1 | data[1]=10 |
operator[]
、front
、back
、data
1 |
|
输出:
1 | second element:2 |
容量
对于容量的检查,c++
提供以下几个接口:
empty()
:检查容器是否为空,是返回1,否则返回0size()
:返回容纳的元素个数max_size()
返回可容纳的最大元素个数reserve()
预留存储空间capacity()
返回当前容器能够容纳的元素个数shrink_to_fit()
释放未使用的内存减少内存的使用
1 |
|
输出:
1 | **************容量*************** |
修改器
c++
提供的用于容器数据修改的API接口有以下几个:
clear()
:清空容器内容insert()
:插入元素emplace()
:替换元素erase()
:擦除元素push_back()
:将元素添加到容器末尾emplace_back()
:在元素尾部构造元素pop_back()
:移除末尾元素resize()
:改变容器中可存储元素的个数swap()
交换两个容器内容
1 |
|
1 | **************修改器*************** |
迭代器
c++
提供以下几种迭代器供使用:
begin
:返回指向起始的迭代器end
:返回指向末尾的迭代器rbegin
:返回指向起始的逆向迭代器rend
:返回指向末尾的逆向迭代器
begin
以及end
见上述示例,rbegin
以及rend
见下图示例:
返回指向逆向 vector
首元素的逆向迭代器。它对应非逆向 vector
的末元素。若 vector
为空,则返回的迭代器等于rend()