我对按值返回和返回 const 值感到困惑。例如,在任何函数中,一旦函数完成,所有局部变量都会超出范围。因此,如果我从函数返回一个值,它必须是通过副本传递,除非它是通过引用返回。因此,当这种情况发生时,该函数会返回一个可以稍后修改的副本。因此,即使将局部变量声明为 const,我也可以在另一个变量中读取它并轻松修改后者。
const int DoubleValue(int nX)
{
int nValue = nX * 2;
return nValue; // A copy of nValue will be returned here
} // n
我对弄清楚const
这里的含义感到困惑。函数体中有nValue
const 吗?如果我对 . 进行分配z = DoubleValue(x);
,我显然可以修改z
.
在什么情况下执行constness?对象DoubleValue(x)
是 const 对象吗?它代表什么?