向量(vector)是C++标准模板库中最常用的序列容器之一。它提供了一个像数组一样可以存取元素的容器,本文将主要介绍C++向量类vector的用法。
一、向量定义
向量是一种模板类,定义方式为:
#include <vector>
vector<int> vec; // int向量
vector<string> strVec; // string向量
二、初始化
vector<int> vec1; // 空向量
vector<int> vec2(10, 1); // 10个元素都为1
vector<int> vec3{1, 2, 3, 4}; // 初始化列表
三、常见操作
- push_back:尾部插入元素
- pop_back:删除最后一个元素
- size():向量大小
- empty():判断是否为空
四、元素访问
int val = vec[0]; // 通过下标访问元素
int last = vec[vec.size()-1]; // 访问最后一个元素
vec.at(2); // 通过at方法访问,可以越界检查
五、迭代器
for(vector<int>::iterator it = vec.begin(); it != vec.end(); ++it) {
// 遍历向量
}
六、插入和删除
vec.insert(vec.begin()+1, 2); // 插入元素
vec.erase(vec.begin()); // 删除元素
七、容量相关
vec.resize(3); // 调整大小
if(vec.capacity() >= 100) {
// 容量大于100
}
vec.reserve(1024); // 容量预留空间
std::vector提供了一个功能强大并且高效的序列容器实现,可以应用于多种场景。掌握vector的用法是高效编写C++程序的关键。