【发布时间】:2016-03-03 22:35:24
【问题描述】:
我想同时循环遍历两张地图,我该如何实现呢?
我有两个向量想要同时打印,我可以在一个内做两次(auto it : mymap) 吗?比如:
for (auto it: mymap && auto on: secondMap)
这是否允许?
我正在尝试打印像 (value1, value2) 这样的值,其中每个值都位于不同的地图中。映射不一定包含完全相同的项目,但键是指令,值是整数,所以如果我在映射中有 value2 的元素,则不一定有对应于相同的 value1键,但在这种情况下,它应该是 0,这是默认的整数值。
有什么想法吗?
也许可以组合两个迭代器,每个映射一个?
亲切的问候, Guus Leijsten
【问题讨论】:
-
可以嵌套两个循环,达到同样的效果
-
不,该语法无效。您对您想要做什么的描述很复杂,并且涉及大量与解决您的问题无关的信息。让你的问题更简洁。
-
Going X-Y here. 当您有两个或多个
vectors 需要对齐时,请考虑使用一个vector和一个捆绑数据的数据结构。在代码中,更喜欢struct wrapper {int a; int b;}; vector<wrapper>而不是vector<int> a; vector<int> b;解决了保持 a 和 b 同步的所有问题,并且只需要一个迭代器。 -
@TankorSmash 听起来你建议的是 M * N 循环迭代,而我相信 OP 在 M == N 的 M 循环迭代之后。