c++map的iterator
时间: 2024-03-18 10:37:19 浏览: 62
C++中 map的基本操作
C++中的`std::map`是一种关联容器,它提供了一种键值对的映射关系。`std::map`的迭代器(iterator)用于遍历和访问`map`中的元素。
`std::map`的迭代器有以下几种类型:
1. `iterator`:用于遍历和修改`map`中的元素。
2. `const_iterator`:用于遍历和访问`map`中的元素,但不能修改元素的值。
3. `reverse_iterator`:用于反向遍历和修改`map`中的元素。
4. `const_reverse_iterator`:用于反向遍历和访问`map`中的元素,但不能修改元素的值。
使用迭代器可以通过以下方式进行遍历和访问`std::map`中的元素:
```cpp
std::map<Key, Value> myMap;
// 使用iterator遍历和修改map中的元素
for (std::map<Key, Value>::iterator it = myMap.begin(); it != myMap.end(); ++it) {
// 访问键值对
Key key = it->first;
Value value = it->second;
// 修改值
it->second = newValue;
}
// 使用const_iterator遍历和访问map中的元素
for (std::map<Key, Value>::const_iterator it = myMap.begin(); it != myMap.end(); ++it) {
// 访问键值对
Key key = it->first;
Value value = it->second;
}
// 使用reverse_iterator反向遍历和修改map中的元素
for (std::map<Key, Value>::reverse_iterator it = myMap.rbegin(); it != myMap.rend(); ++it) {
// 访问键值对
Key key = it->first;
Value value = it->second;
// 修改值
it->second = newValue;
}
// 使用const_reverse_iterator反向遍历和访问map中的元素
for (std::map<Key, Value>::const_reverse_iterator it = myMap.rbegin(); it != myMap.rend(); ++it) {
// 访问键值对
Key key = it->first;
Value value = it->second;
}
```
阅读全文