std :: initializer_list
создается компилятором из заключенного в фигурные скобки списка инициализации, и размер этого списка должен быть постоянной времени компиляции.
Так почему комитет решил опустить размер в аргументах шаблона? Это, возможно, предотвращает некоторые оптимизации и делает некоторые вещи невозможными (инициализация std :: array
из std :: initializer_list
).