如何解决如何使用迭代器查看多个值?
说我有一个unordered_map<int> map
,我通常使用迭代器for
循环来查看映射中的所有值,但是遇到一个问题,我想一次查看两个值,例如当前和下一个(如果不是nullptr
)。我将如何设置该循环?
解决方法
这很简单
auto itr1 = map.begin();
for(auto itr2 = itr1++; itr1!=map.end(); itr2=itr1++)
{
// do stuff
}
但是,说实话,访问无序映射的两个决定性元素是毫无意义的,因为它们的键之间没有依赖关系。
编辑:但是,如果您希望访问下一个地图的基于索引的元素(i和i + 1),而不是通过unordered_map
存储其元素的半随机顺序,则必须利用find
或在您确实需要时将unordered_map
更改为map
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。