std::vector的方法
时间: 2024-09-14 10:02:29 浏览: 40
std::vector类模板
`std::vector` 是 C++ 标准模板库(STL)中一个非常重要的容器类,它是一个能够动态增长和缩小的数组。以下是 `std::vector` 的一些常用方法及其简单介绍:
1. 构造函数(Constructor):用来创建不同类型的向量。
```cpp
std::vector<T> vec; // 默认构造一个空向量
std::vector<T> vec(size); // 创建一个元素数量为size的向量
std::vector<T> vec(size, value); // 创建一个元素数量为size的向量,所有元素初始化为value
```
2. assign():用来给向量赋值。
```cpp
vec.assign(new_size, new_value); // 将所有元素替换为new_value
```
3. push_back():在向量的末尾添加一个新元素。
```cpp
vec.push_back(value); // 向向量末尾添加value
```
4. pop_back():移除向量的最后一个元素。
```cpp
vec.pop_back(); // 移除向量的最后一个元素
```
5. insert():在指定位置插入新元素。
```cpp
vec.insert(pos, value); // 在迭代器pos指定的位置插入一个value值
vec.insert(pos, n, value); // 在迭代器pos指定的位置插入n个value值
vec.insert(pos, first, last); // 在迭代器pos指定的位置插入first到last范围内的元素
```
6. erase():移除指定位置的元素或指定范围内的元素。
```cpp
vec.erase(pos); // 移除迭代器pos指定位置的元素
vec.erase(first, last); // 移除从迭代器first到last范围内的元素
```
7. clear():清空向量中的所有元素。
```cpp
vec.clear(); // 移除向量中所有的元素
```
8. size():返回向量中元素的数量。
```cpp
size_t vec.size(); // 返回向量中元素的个数
```
9. empty():判断向量是否为空。
```cpp
bool vec.empty(); // 如果向量为空,则返回true,否则返回false
```
10. at() 和 []:访问向量中的元素。
```cpp
T& vec.at(index); // 返回索引为index的元素的引用,如果index越界会抛出out_of_range异常
T& vec[index]; // 返回索引为index的元素的引用,不会检查索引是否越界
```
11. front() 和 back():访问向量的第一个元素和最后一个元素。
```cpp
T& vec.front(); // 返回向量的第一个元素的引用
T& vec.back(); // 返回向量的最后一个元素的引用
```
12. reserve():预留存储空间以容纳一定数量的元素,避免在后续插入操作时进行多次内存重新分配。
```cpp
vec.reserve(new_size); // 预留足够的空间以存储new_size个元素
```
阅读全文