C++ 中vector用法
时间: 2024-08-15 12:03:16 浏览: 48
在C++中,`std::vector` 是一种动态数组,它提供了许多方便的功能,如自动内存管理、元素的动态插入和删除以及随机访问等。以下是`vector`的一些基本用法:
1. **声明和初始化**:
```cpp
std::vector<int> vec; // 创建空的整数vector
std::vector<int> vec{1, 2, 3}; // 初始化一个包含三个元素的vector
```
2. **大小和容量**:
可通过`size()`获取元素个数,`capacity()`获取最大存储空间:
```cpp
size_t count = vec.size(); // 获取元素个数
size_t capacity = vec.capacity(); // 获取可用内存大小
```
3. **访问元素**:
通过索引来读取或修改元素:
```cpp
int value = vec; // 读取第一个元素
vec = 42; // 修改第一个元素
```
4. **插入和删除**:
- `push_back()`: 在末尾添加元素
- `pop_back()`: 删除最后一个元素
- `insert()`: 在指定位置插入元素
```cpp
vec.push_back(5); // 添加元素到末尾
vec.insert(vec.begin(), 0); // 在开头插入
vec.erase(vec.begin()); // 删除第一个元素
```
5. **迭代遍历**:
使用`begin()`和`end()`函数进行循环遍历:
```cpp
for (int i : vec) {
std::cout << i << " ";
}
```
6. **动态调整大小**:
当向大了或小了扩展时,`vector`会自动调整其内部数据结构,无需程序员手动管理内存。
7. **容器适配器**:
`std::vector` 可以作为其他容器(如`std::list`或自定义类型)的底层存储,通过`reserve()`预先分配空间。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)