Каков следующий список закулисных в цикле for на основе диапазона? - PullRequest
0 голосов
/ 07 января 2019

Я изучаю C ++ и увидел цикл for, основанный на диапазоне, например:

for (int i : {1,2,3,4,5})
    std::cout << i << ' ';

Что такое временная {1,2,3,4,5} в цикле for за кадром?

Ответы [ 2 ]

0 голосов
/ 07 января 2019

Объект здесь является экземпляром std::initializer_list<int>. Из справки (выделено мое):

Объект std :: initializer_list создается автоматически, когда:

фигурный список инициализации используется для инициализации списка объекта, где соответствующий конструктор принимает параметр std :: initializer_list

фигурный список инициализации используется в качестве правого операнда присваивания или в качестве аргумента вызова функции, а соответствующий оператор / функция присваивания принимает параметр std :: initializer_list

список фигурных скобок привязан к auto, включая в цикле for ranged

0 голосов
/ 07 января 2019

Что такое временный {1,2,3,4,5} в цикле for за кадром?

a std::initializer_list<int>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...