値で返すことと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
ます。
どのような状況下で恒常性が強制されますか?オブジェクトDoubleValue(x)
はconstオブジェクトですか?それは何を表していますか?