Ответ 1
Объект здесь является экземпляром std::initializer_list<int>
. Из справки (выделено мое):
Объект std :: initializer_list создается автоматически, когда:
Braced-init-list используется для инициализации списка объекта, где соответствующий конструктор принимает параметр std :: initializer_list
список фигурных скобок используется в качестве правого операнда присваивания или в качестве аргумента вызова функции, а соответствующий оператор/функция присваивания принимает параметр std :: initializer_list
Braced-init-list привязан к auto, в том числе в цикле for