我知道为了在C ++ 11中循环遍历地图,我可以使用以下代码:
AM_CXXFLAGS
std::mymap<std::string, myclass>
for(auto item : mymap)
{
// code here
}
究竟指的是什么?它是地图键吗?当前访问的值?如果我想对值进行某些操作,我该如何访问它?
答案 0 :(得分:2)
Iter
在您的上下文中引用std::pair<std::string, myclass>
。因此iter.first
是您的关键,iter.second
是您示例的值。
如果要修改循环块内的值,可以按如下方式编写:
iter.second=<new value>
如果您不需要更好地修改值以使用范围循环,如下所示:
for(const auto& iter : mymap)
{
//
}