Почему std::initializer_list передается не по ссылке
Например, вот реализация MSVC конструктора у вектора
vector(initializer_list<_Ty> _Ilist, const _Alloc& _Al = _Alloc())
: _Mybase(_Al)
{ // construct from initializer_list, optional allocator
_Range_construct_or_tidy(_Ilist.begin(), _Ilist.end(), random_access_iterator_tag{});
}
Почему initializer_list<...> всюду передается как value, а не lvalue, rvalue ссылки?