map是c++里的一个重要容器,类似python里的字典,并且,它还有对里面对象自动排序的特性.而iterator则用用来遍历map的一个很好的工具, 实际上,c++的大部分容器都可以typename::iterator这种方式来遍历对象
下图附上用iterator来遍历的的三种用法.最简单的是用auto的第三种
#include <iostream>
#include <map>
using namespace std;
int main()
{
std::map<int,int> id_matcher={{4,1},{5,1},{9,1},{11,2},{9,3}};
std::map<int, int> id_match = {{1,4},{5,1},{9,1},{8,6},{2,3}};
for(map<int,int>::const_iterator it= id_matcher.cbegin(); it != id_matcher.cend(); ++it)
{
std::cout << it->first << " " << it->second << "\n";
}
for(map<int,int>::iterator it= id_matcher.begin(); it != id_matcher.end(); ++it)
{
std::cout << it->first << " " << it->second << "\n";
}
for (auto it= id_match.cbegin(); it != id_match.cend();it++)
{
cout<<it->first<<", "<<it->second<<endl;
}
}