迭代器iterator遍历map c++
时间: 2024-10-28 21:11:55 浏览: 27
C++设计模式之迭代器模式(Iterator)
5星 · 资源好评率100%
迭代器(Iterator)在C++中是一种设计模式,用于遍历容器(如`std::map`),它提供了一种安全、高效的方式来访问容器中的元素,而不需要暴露容器的具体内部实现。对于`std::map`,它是一个关联容器,存储了键值对,使用迭代器可以按照顺序(默认是插入顺序,自Safari C++17开始支持随机访问)逐个访问键值。
以下是使用迭代器遍历`std::map`的基本步骤:
```cpp
#include <iostream>
#include <map>
int main() {
std::map<int, std::string> myMap = { {1, "One"}, {2, "Two"}, {3, "Three"} };
// 创建map的迭代器指向第一个元素
auto it = myMap.begin();
// 使用迭代器遍历 map
while (it != myMap.end()) {
std::cout << "Key: " << it->first << ", Value: " << it->second << "\n";
// 移动迭代器到下一个元素
++it;
}
return 0;
}
```
在这个例子中,`myMap.begin()`返回一个指向第一个元素的迭代器,`it->first`获取键,`it->second`获取对应的值,`++it`则移动到下一个元素。当你到达`end()`迭代器时,循环结束,表示所有元素都被处理过了。
阅读全文