目录
导读
今天我们来学习vector的一些基本操作。
vector
是一个动态数组容器,可以存储任意类型的元素。
1. vector初始化
构造函数声明 | 接口说明 |
---|---|
vector() | 无参构造 |
vector(size_type n, const value_type& val = value_type()) | 构造并初始化n个val |
vector (const vector& x); | 拷贝构造 |
vector (InputIterator first, InputIterator last); | 使用迭代器进行初始化构造 |
- 默认构造函数:创建一个空的
vector
对象。 - 指定大小的构造函数:创建一个指定大小的
vector
对象,并且可以指定默认值。 - 拷贝构造函数:通过拷贝一个已存在的
vector
对象来创建一个新的vector
对象。 - 区间构造函数:使用另一个容器的指定区间来创建一个新的
vector
对象。
int main()
{
// 创建一个空的整数类型的vector对象
vector<int> num1;
// 创建一个包含5个整数的vector对象,默认值为0
vector<int> num2(5);
// 创建一个包含5个整数的vector对象,每个元素的默认值为10
vector<int> num3(5, 10);
vector<int> num4{ 10, 20, 30, 40, 50 };
vector<int> num5(num4); // 将num4的内容拷贝给num5
// 使用num4的前3个元素创建一个新的vector对象
vector<int> num6(num4.begin(), num4.begin() + 3);
return 0;
}
2. vector iterator 的使用
2.1 常规遍历
vector
提供了两种类型的迭代器:iterator
和const_iterator
。
iterator
可以用于修改vector
中的元素,而const_iterator
只能用于访问但不能修改元素。
- 迭代器的遍历。
- 使用
auto
关键字简化迭代器声明和遍历。 - 使用范围
for
循环遍历。
begin:获取第一个数据位置的iterator/co