【vectorc++用法】在C++中,`vector` 是一个非常常用且强大的容器类,属于标准模板库(STL)的一部分。它提供了动态数组的功能,可以根据需要自动扩展或缩小大小。以下是对 `vector` 在 C++ 中常见用法的总结。
一、基本概念
| 项目 | 内容 |
| 定义 | `include |
| 命名空间 | `std::vector` |
| 功能 | 动态数组,支持随机访问、插入、删除等操作 |
| 特点 | 自动管理内存,灵活性高 |
二、常用操作
| 操作 | 语法示例 | 说明 |
| 初始化 | `std::vector | 创建一个空的整型向量 |
| 添加元素 | `vec.push_back(10);` | 尾部添加元素 |
| 访问元素 | `vec[0];` 或 `vec.at(0);` | 使用下标或 `at()` 方法访问 |
| 获取大小 | `vec.size();` | 返回当前元素个数 |
| 判断是否为空 | `vec.empty();` | 返回 `true` 表示为空 |
| 删除元素 | `vec.pop_back();` | 删除最后一个元素 |
| 插入元素 | `vec.insert(vec.begin(), 5);` | 在指定位置插入元素 |
| 删除指定范围 | `vec.erase(vec.begin(), vec.begin()+2);` | 删除从开始到第2个元素 |
| 清空所有元素 | `vec.clear();` | 清除所有内容 |
| 遍历元素 | 使用 `for` 循环或迭代器 | 如:`for (int i : vec)` 或 `for (auto it = vec.begin(); it != vec.end(); ++it)` |
三、初始化方式
| 方式 | 示例 | 说明 |
| 默认构造 | `std::vector | 空向量 |
| 指定大小 | `std::vector | 创建包含5个默认值(0)的向量 |
| 指定大小和值 | `std::vector | 创建5个值为10的向量 |
| 从数组初始化 | `int arr[] = {1,2,3}; std::vector | 从数组拷贝元素 |
| 从其他向量复制 | `std::vector | 复制另一个向量 |
四、注意事项
- `vector` 的元素存储在连续的内存中,适合频繁的随机访问。
- `push_back()` 和 `pop_back()` 操作效率较高,但中间插入/删除可能较慢。
- 使用 `at()` 方法访问元素会进行边界检查,比直接使用下标更安全。
- `vector` 的容量(capacity)可以通过 `capacity()` 查看,当元素超过容量时会自动扩容。
五、适用场景
| 场景 | 说明 |
| 动态数据集合 | 如用户输入的数据、文件读取的内容等 |
| 数据结构实现 | 如栈、队列、链表等的底层实现 |
| 算法实现 | 如排序、查找等算法中作为临时存储容器 |
通过合理使用 `vector`,可以大大提升 C++ 编程的效率与代码的可读性。掌握其基本用法是 C++ 开发者必备的基础技能之一。


