" Effective C++ "第3项说"尽可能使用const",它给出了一个例子:
const Rational operator*(const Rational& lhs,
const Rational& rhs);
Run Code Online (Sandbox Code Playgroud)
防止客户端犯下这样的暴行:
Rational a, b, c;
...
(a * b) = c; // invoke operator= on the result of a*b!
Run Code Online (Sandbox Code Playgroud)
但是,函数的非参考返回值是否已经是一个rvalue?那么为什么还要这么做呢?
从该引用中,它允许constrvalue作为移动构造函数
Type::Type( const Type&& other );
Run Code Online (Sandbox Code Playgroud)
可移动物体怎么样const?即使这在技术上是允许的,是否存在这样的声明有用的情况?