C++ C++;迭代映射

C++ C++;迭代映射,c++,map,stl,C++,Map,Stl,众所周知,下面的代码用于在C中迭代映射++ for (std::map<char,int>::iterator it=mymap.begin(); it!=mymap.end(); ++it) { std::cout << itr->first << " => " << itr->second << '\n'; } for(std::map::iterator it=mymap.begin();it!=mym

众所周知,下面的代码用于在C中迭代映射++

for (std::map<char,int>::iterator it=mymap.begin(); it!=mymap.end(); ++it)
{
    std::cout << itr->first << " => " << itr->second << '\n';
}
for(std::map::iterator it=mymap.begin();it!=mymap.end();+it)
{
std::cout首先的元素是
std::pair
,因此取消引用映射迭代器将为您提供对其中一个元素的引用


类模板具有
第一个
第二个
成员。

迭代器背后的基本思想是,迭代器是用于访问数据的“神奇”对象,其行为类似于数组上的指针,即使用算术运算符(例如
++
--
)四处移动,然后取消引用(使用
*
->
)访问数据

因此,
itr
就像一个指向
std::pair
的指针,因此您可以通过
*
操作符(它生成键/值
pair
)或使用
->
操作符(如您的示例中所示)访问对其进行解引用的数据