const 限定的众多好处之一是使 API 更易于理解,例如:
template<typename T> int function1(T const& in);
// clearly, the input won’t change through function1
随着右值引用的引入,人们可以从完美转发中受益,但通常会删除 const 限定符,例如:
template<typename T> int function2(T&& in);
// can explicitly forward the input if it's an rvalue
除了文档之外,是否有一种描述 function2 不会改变其输入的好方法?