返回内置类型的const值是一个很好的习惯吗?
原因是:
const int F()
{
}
int y;
F(x) = y;
Run Code Online (Sandbox Code Playgroud)
如果返回值为const,则上述代码将无法编译.但如果不是,F(x) = y;则是一个非常隐蔽的错误.
由于没有意义为函数赋值,我认为总是为内置类型返回一个const值是一个很好的习惯吗?如果我总是返回内置类型的const值,有什么问题吗?
const 意味着在对象的生命周期中,对象的值不会改变.
标准本身指出,因此,const对非类或非数组prvalues的prvalues没有意义.这样的表达式从不引用对象(至少如果表达式源自用户代码.语言本身可能在引用绑定期间创建prvalues,它神奇地引用临时对象.但是,恕我直言,这些应该是xvalues).因此,既然没有对象,就没有生命.因此,没有什么可以举行"const".