std::vector使用方法
时间: 2023-10-17 08:04:23 浏览: 98
`std::vector` 是 C++ STL 中的一个容器,用于存储动态数组。它可以自动扩容和缩容,可以在数组的任何位置插入或删除元素。以下是使用 `std::vector` 的一些常见方法:
1. 创建向量
可以使用以下语法创建一个空向量:
```
std::vector<int> vec;
```
也可以使用以下语法创建一个具有初始大小和值的向量:
```
std::vector<int> vec(5, 0); // 创建大小为5的向量,并将每个元素初始化为0
```
2. 访问向量元素
可以使用下标运算符 `[]` 或 `at()` 方法访问向量中的元素。例如:
```
std::vector<int> vec = {1, 2, 3, 4, 5};
int x = vec[2]; // x 等于 3
int y = vec.at(4); // y 等于 5
```
注意,使用 `at()` 方法访问不存在的元素会抛出 `std::out_of_range` 异常。
3. 向向量中添加元素
可以使用 `push_back()` 方法将元素添加到向量的末尾:
```
std::vector<int> vec = {1, 2, 3};
vec.push_back(4);
```
也可以使用 `insert()` 方法在向量的任意位置添加元素:
```
std::vector<int> vec = {1, 2, 3};
auto it = vec.begin() + 1;
vec.insert(it, 4);
```
注意,`insert()` 方法需要传入一个迭代器,指定插入的位置。
4. 从向量中删除元素
可以使用 `pop_back()` 方法从向量的末尾删除元素:
```
std::vector<int> vec = {1, 2, 3};
vec.pop_back();
```
也可以使用 `erase()` 方法从向量的任意位置删除元素:
```
std::vector<int> vec = {1, 2, 3};
auto it = vec.begin() + 1;
vec.erase(it);
```
注意,`erase()` 方法需要传入一个迭代器,指定删除的位置。
5. 获取向量大小和容量
可以使用 `size()` 方法获取向量中元素的数量:
```
std::vector<int> vec = {1, 2, 3};
int n = vec.size(); // n 等于 3
```
可以使用 `capacity()` 方法获取向量的容量:
```
std::vector<int> vec = {1, 2, 3};
int m = vec.capacity(); // m 大于等于 3
```
注意,向量的容量可能会大于元素的数量,因为它预留了一些额外的空间以便于扩容。
阅读全文
相关推荐

















