The range-access function std::begin is declared as follows (for containers):
template< class C >
auto begin( C& c ) -> decltype(c.begin());
I just wonder why it's not simply
template< class C >
decltype(C::begin) begin( C& c );
Is there any difference between these two?