vector是C++ STL中的动态数组,支持自动扩容与随机访问。需包含头文件并常用std命名空间。可存储多种类型数据,如vector v1;声明空容器,vector v3(3, 10)初始化三个值为10的元素,支持列表初始化vector v4 = {1,2,3,4}及拷贝构造。常用操作包括push_back()尾部添加、pop_back()删除末尾元素、size()获取大小、empty()判空、operator[]与at()访问元素(后者越界检查)、front()和back()获取首尾元素、clear()清空、insert()插入、erase()删除。遍历方式有下标循环、范围for(推荐)和迭代器。适用于动态数组场景,结合算法库提升效率,但应避免频繁中间插入删除以保性能。

在C++中,vector 是最常用的容器之一,属于标准模板库(STL)的一部分。它是一个动态数组,可以自动调整大小,支持随机访问,并提供了丰富的操作方法。下面介绍 vector 的基本使用方法。
包含头文件和命名空间
使用 vector 前需要包含对应的头文件,并建议使用 std 命名空间:
// 头文件#include
using namespace std;
声明和初始化 vector
vector 可以存储各种数据类型,常见定义方式如下:
-
vector
v1; // 创建空的 int 类型 vector -
vector
v2(5); // 创建包含 5 个元素的 vector,初始值为 0.0 -
vector
v3(3, 10); // 创建 3 个元素,每个值为 10 -
vector
v4 = {1, 2, 3, 4}; // C++11 支持列表初始化 -
vector
v5(v4); // 拷贝另一个 vector
常用操作方法
vector 提供了多种成员函数来操作数据:
立即学习“C++免费学习笔记(深入)”;
- v.push_back(x); // 在末尾添加一个元素 x
- v.pop_back(); // 删除最后一个元素(不返回值)
- v.size(); // 返回当前元素个数
- v.empty(); // 判断是否为空,返回 true 或 false
- v[i]; // 随机访问第 i 个元素(不检查越界)
- v.at(i); // 访问第 i 个元素,会做越界检查,越界抛出异常
- v.front(); // 获取第一个元素
- v.back(); // 获取最后一个元素
- v.clear(); // 清空所有元素
- v.insert(v.begin() + i, x); // 在位置 i 插入元素 x
- v.erase(v.begin() + i); // 删除位置 i 的元素
遍历 vector
有多种方式可以遍历 vector 中的元素:
-
下标遍历:
for (int i = 0; i cout } -
范围 for 循环(推荐):
for (int x : v) {
cout } -
迭代器遍历:
for (auto it = v.begin(); it != v.end(); ++it) {
cout }
基本上就这些。vector 使用起来灵活高效,适合大多数需要动态数组的场景。掌握它的基本操作后,可以结合算法库(如 sort、find)进一步提升编程效率。注意避免频繁插入删除中间元素,会影响性能。










