在C++编程中,`vector` 是一个非常重要的容器类,它属于标准模板库(STL)的一部分。`vector` 提供了一种动态数组的功能,能够自动调整其大小以适应元素的增加或减少。这种特性使得 `vector` 成为处理动态数据集合时的首选工具。
创建和初始化
创建一个 `vector` 可以通过多种方式实现。最简单的方式是默认构造函数,它会创建一个空的 `vector`:
```cpp
include
using namespace std;
int main() {
vector
}
```
你也可以使用初始值列表来创建并初始化 `vector`:
```cpp
vector
```
或者指定大小和初始值:
```cpp
vector
```
基本操作
添加元素
可以使用 `push_back()` 方法向 `vector` 的末尾添加元素:
```cpp
vec.push_back(6); // 在 vector 后面添加一个元素6
```
访问元素
可以通过索引来访问 `vector` 中的元素:
```cpp
int value = vec[0]; // 获取第一个元素
```
或者使用 `at()` 方法,它可以提供边界检查:
```cpp
int value = vec.at(0); // 获取第一个元素,并进行边界检查
```
删除元素
删除最后一个元素可以使用 `pop_back()`:
```cpp
vec.pop_back(); // 删除 vector 的最后一个元素
```
如果需要删除特定位置的元素,可以使用 `erase()`:
```cpp
vec.erase(vec.begin() + 2); // 删除第三个元素
```
查询大小
获取 `vector` 当前存储的元素数量:
```cpp
size_t size = vec.size(); // 获取 vector 的大小
```
清空 vector
清空所有元素但保留内存空间:
```cpp
vec.clear(); // 清空 vector 中的所有元素
```
高级用法
迭代器
`vector` 支持迭代器操作,这使得遍历元素变得更加灵活:
```cpp
for (auto it = vec.begin(); it != vec.end(); ++it) {
cout << it << " "; // 输出 vector 中的所有元素
}
```
动态扩展
当向 `vector` 添加元素时,如果当前容量不足以容纳新的元素,`vector` 会自动扩展其容量。可以通过 `capacity()` 查看当前容量:
```cpp
cout << "Current capacity: " << vec.capacity() << endl;
```
其他功能
`vector` 还支持插入、交换等高级操作。例如,插入元素到指定位置:
```cpp
vec.insert(vec.begin() + 2, 7); // 在第三个位置插入元素7
```
总结
`vector` 是 C++ STL 中非常强大且灵活的数据结构,适用于各种场景。它的动态调整大小能力以及丰富的成员函数使其成为处理动态数据集合的理想选择。熟练掌握 `vector` 的用法,将极大地提升你的编码效率和代码质量。
希望这篇关于 `vector` 的用法介绍对你有所帮助!