Среди многих преимуществ сотенной квалификации - сделать API более понятным, например:
template<typename T> int function1(T const& in);
// clearly, the input won’t change through function1
С введением ссылок rvalue можно получить отличную переадресацию, но часто удаляются конструкторы const, например:
template<typename T> int function2(T&& in);
// can explicitly forward the input if it an rvalue
Помимо документации, есть ли хороший способ описать, что функция2 не изменит свой вход?