到目前为止,我一直使用迭代器来遍历 STL 映射中的所有键,如下所示:
for (std::map<char,int>::iterator it=mymap.begin(); it!=mymap.end(); ++it){
std::cout << it->first << " => " << it->second << '\n';
}
最近,虽然我遇到了一些使用不同样式来遍历键的代码,如下所示。是否最近才在修订标准中添加此功能?正如许多其他语言已经提供的那样,这似乎是一种用更少的代码完成更多工作的相当有趣的方式。
for (auto& x: mymap) {
std::cout << x.first << " => " << x.second << '\n';
}
另外,我很想知道在这里使用关键字“auto”的确切含义。