c++ vector迭代器使用
时间: 2024-08-26 16:02:24 浏览: 45
在C++中,`vector`是一个动态数组容器,它提供了一种方便的方式来存储和操作同类型的元素。`vector`包含两种类型的迭代器:`iterator`和`const_iterator`。它们可以用于遍历容器中的元素。
1. **迭代器的基本使用**:
- `iterator`: 可读写迭代器,允许对容器中的元素进行增删改操作。
- `const_iterator`: 只读迭代器,用于只读访问,不会修改容器内容。
```cpp
std::vector<int> vec = {1, 2, 3};
for (std::vector<int>::iterator it = vec.begin(); it != vec.end(); ++it) {
std::cout << *it << " ";
}
```
2. **访问和修改元素**:
- 使用`*`运算符获取当前位置的值,`->`运算符用于指针类型的迭代器。
- 使用`[]`索引来直接访问元素。
```cpp
*vec.begin() // 访问第一个元素
vec[0] = 4; // 修改第一个元素
```
3. **移动迭代器**:
- `++it` 或 `it++` 表示移动到下一个元素。
- `--it` 或 `it--` 移动到前一个元素。
```cpp
it++; // 移动到下一个元素
```
4. **插入和删除元素**:
- `push_back()` 和 `pop_back()` 可以在末尾添加和移除元素。
- `insert(it, value)` 在指定位置插入元素。
```cpp
vec.insert(vec.begin(), 0); // 在开头插入0
```
阅读全文