我试图简单地遍历一个列表,该列表由我拥有的两个列表对象组成。我想要执行此操作,而不必创建第三个列表变量对象,这是两个对象的串联,并且没有两个单独的循环分别遍历一个列表。
我很确定我之前已经做过,但现在找不到方法了。
这是我正在尝试的代码,但是它无法正常工作,因为它将我编写的内容作为列表列表。那不是我的意图。我正在寻找它来遍历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
是注册为“列表类型”还是“元素类型”。我正在寻找元素类型。
也许遵循这些思路:
for (auto& l : {list1, list2}) {
for (auto& e : l) {
std::cout << e;
}
}