目录
std::vector
是 C++ STL 中常用的动态数组容器之一。它提供了对动态数组的支持,可以动态调整大小,并支持随机访问。
基本操作
-
定义和初始化
#include <vector> std::vector<int> vec; // 创建一个空的 vector std::vector<int> vec1 = {1, 2, 3}; // 使用初始化列表创建并初始化 std::vector<int> vec2(5); // 创建一个大小为 5 的 vector,所有元素初始化为 0 std::vector<int> vec3(5, 10); // 创建一个大小为 5 的 vector,所有元素初始化为 10 std::vector<int> vec2(vec1.begin(), vec1.end()); // 从 vec1 的范围初始化 vec2 int arr[] = {1, 2, 3, 4, 5}; std::vector<int> vec4(std::begin(arr), std::end(arr));//从数组初始化
-
添加元素
vec.push_back(4); // 在末尾添加元素 vec.emplace_back(5); // 在末尾直接构造元素
-
访问元素
int first = vec[0]; // 使用下标访问 int second = vec.at(1); // 使用 at() 方法访问(带边界检查)
-
删除元素
vec.pop_back(); // 删除末尾元素 vec.erase(vec.begin() + 1); // 删除指定位置的元素 vec.clear(); // 清空所有元素
-
大小和容量
size_t size = vec.size(); // 返回元素数量 size_t capacity = vec.capacity(); // 返回当前容量 vec.reserve(100); // 设置容量(但不改变大小) vec.shrink_to_fit(); // 释放未使用的内存
-
其他功能
vec.insert(vec.begin() + 1, 10); // 在指定位置插入元素
vec.swap(vec1); // 交换两个 vector 的内容