vector是C++ STL中动态数组容器,需包含头文件,支持自动内存管理;可使用push_back添加、pop_back删除元素,通过size、empty、at等方法操作数据;推荐用范围for循环遍历;其内部连续存储并动态扩容,可通过reserve预分配内存提升性能。

vector 是 C++ 标准模板库(STL)中最常用的动态数组容器之一。它能自动管理内存,支持在运行时动态添加或删除元素,使用起来比普通数组更加灵活和安全。
1. 包含头文件并声明 vector
要使用 vector,必须包含对应的头文件:
#include声明一个 vector 的基本语法如下:
std::vectorstd::vector
std::vector
2. 常用操作方法
vector 提供了丰富的成员函数来操作数据:
立即学习“C++免费学习笔记(深入)”;
- size():返回当前元素个数
- empty():判断是否为空,返回 true 或 false
- push_back(value):在末尾添加一个元素
- pop_back():删除最后一个元素
- at(i) 或 [i]:访问索引 i 处的元素(at 会做越界检查)
- clear():清空所有元素
- resize(n):调整 vector 大小为 n
- front() 和 back():分别获取第一个和最后一个元素
示例代码:
std::vectornums.push_back(10);
nums.push_back(20);
nums.push_back(30);
for (int i = 0; i std::cout }
// 输出:10 20 30
3. 遍历 vector
有多种方式可以遍历 vector:
- 下标遍历:适合已知索引的情况
- 范围 for 循环(推荐):
std::cout }
- 迭代器遍历:
std::cout }
4. 动态扩容机制
vector 内部使用连续内存存储元素,当容量不足时会自动重新分配更大的空间,并将原有数据复制过去。虽然这个过程对开发者透明,但频繁插入可能导致性能开销。可通过 reserve(n) 预先分配内存以提高效率:
vec.reserve(100); // 预留 100 个元素的空间基本上就这些。vector 封装了动态数组的复杂性,让程序员可以专注于逻辑开发,而不必手动管理内存。熟练掌握它的常用操作,是写好 C++ 程序的基础。不复杂但容易忽略细节,比如越界访问或不必要的拷贝,使用时注意即可。









