Для std::begin
у нас есть две перегрузки для контейнеров:
template< class C >
auto begin( C& c ) -> decltype(c.begin());
template< class C >
auto begin( const C& c ) -> decltype(c.begin());
Но константа C
может быть выведена с помощью обычных правил вычитания шаблона, поэтому кажется, что вторая перегрузка является избыточной. Что мне не хватает?