【发布时间】:2020-01-24 04:31:03
【问题描述】:
我需要在不停止循环的情况下遍历整个地图。 我的示例有效,但它使用了两个循环,可以修复吗?
我认为只使用一个 for 循环就可以做到这一点
#include <map>
map<int, int>map2;
map2[1] = 11;
map2[2] = 12;
map2[3] = 13;
for (;;)
{
for (auto& a : map2)
{
cout << a.first << " : " << a.second << '\n';
}
}
【问题讨论】:
-
为什么需要两个循环?为什么你在地图迭代之前使用无限循环?
-
您的代码中没有数组。
-
我正在循环地图,我的程序需要这个。
-
我认为你的代码已经是最好的方法了。 2个循环。如果您的列表是一个普通数组(不是地图,而是可以由 int 索引的列表),您只需要像这样通过环绕来增加索引:
index = (index+1)%yourList.size(); -
数组就是我的意思地图;我的翻译不好。
标签: c++