Итерация по нескольким последовательным спискам в C ++ - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь просто перебрать список, состоящий из двух объектов списка, которые у меня есть. Я хочу сделать это без необходимости создания объекта третьей переменной списка, который является объединением двух, и без двух отдельных циклов, проходящих каждый список соответственно.

Я почти уверен, что сделал это раньше, но я не могу найти, как это сделать.

Это код, который я пробую, но он не работает должным образом, так как он принимает то, что я написал, как список списков. Это не мое намерение. Я ищу его для перебора элементов 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 как "тип списка" или "тип элемента" , Я ищу тип элемента.

1 Ответ

1 голос
/ 20 апреля 2020

Возможно, что-то в этом роде:

for (auto& l : {list1, list2}) {
  for (auto& e : l) {
    std::cout << e;
  }
}
...