遍历c ++中的多个顺序列表

问题描述 投票:0回答:1

我试图简单地遍历一个列表,该列表由我拥有的两个列表对象组成。我想要执行此操作,而不必创建第三个列表变量对象,这是两个对象的串联,并且没有两个单独的循环分别遍历一个列表。

我很确定我之前已经做过,但现在找不到方法了。

这是我正在尝试的代码,但是它无法正常工作,因为它将我编写的内容作为列表列表。那不是我的意图。我正在寻找它来遍历list1的元素,然后遍历list2的元素。我相信有一种方法可以格式化语句中的{list1, list2},因此是这种情况。

for (auto e : {list1, list2}) { // How can I formulate <<<list1, list2>>> 
                                      //  so that it takes the concatenation of list elements?
    std::cout << e << newLine;
}

希望具有类似list1[0], list1[1], list2[0], list2[1]的输出。

测试有效性的简单方法是auto是注册为“列表类型”还是“元素类型”。我正在寻找元素类型。

c++ list for-loop auto
1个回答
0
投票

也许遵循这些思路:

for (auto& l : {list1, list2}) {
  for (auto& e : l) {
    std::cout << e;
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.