在C++中,std::vector
是一个动态数组容器,它允许用户存储任意类型的对象,并且可以动态地增加和压缩数据。以下是std::vector
的一些基本用法:
包含头文件和命名空间
#include <vector>
using namespace std;
声明和初始化
-
默认初始化 :创建一个空的
vector
。
vector<int> v;
-
指定大小初始化 :创建一个具有指定大小的
vector
,并可以选择为每个元素提供初始值。
vector<int> v(5); // 创建一个包含5个元素的vector,每个元素被默认初始化为0
vector<int> v(5, 10); // 创建一个包含5个元素且每个元素都是10的vector
-
复制初始化 :使用另一个
vector
对象来初始化。
vector<int> v1 = {1, 2, 3, 4, 5};
vector<int> v2(v1); // v2是v1的一个复制
构造函数
-
无参数 :构造一个空的
vector
。
vector<int> v;
-
指定数量和值 :构造一个初始放入指定数量元素的
vector
。
vector<int> v(5, 42); // 创建一个包含5个值为42的元素的vector
-
迭代器范围 :使用输入迭代器指定一个范围的元素来构造
vector
。
vector<int> v(v.begin(), v.end()); // 使用现有vector的元素构造新vector
常用操作
-
尾部插入 :使用
push_back
在vector
尾部添加一个元素。
vector<int> v;
v.push_back(10);
v.push_back(20);
-
访问元素 :使用下标或迭代器访问
vector
中的元素。
for(auto it = v.begin(); it != v.end(); ++it) {
cout << *it << " ";
}
-
删除尾部元素 :使用
pop_back
删除vector
尾部的一个元素。
vector<int> v = {10, 20, 30};
v.pop_back();
-
获取大小 :使用
size
函数返回vector
中元素的个数。
int size = v.size();
-
检查是否为空 :使用
empty
函数检查vector
是否为空。
bool isEmpty = v.empty();
-
清空容器 :使用
clear
函数清空vector
中的所有元素。
v.clear();
-
插入元素 :使用
insert
函数在指定位置插入一个元素。
v.insert(v.begin() + 1, 15); // 在索引为1的位置插入15
-
删除元素 :使用
erase
函数删除指定位置的元素或一段元素。
v.erase(v.begin() + 1); // 删除索引为1的元素
以上是std::vector
的一些基本用法。使用std::vector
可以方便地管理动态数组,而无需手动管理内存。需要注意的是,在使用std::vector
时,应确保包含正确的头文件,并根据需要使用命名空间。