-3

宣言しましょう:

...
int a= 5;
int& b= a;
...

aとの違いがわかりませんb。私は、それは単なるアドレスだaと思います。bしかし、このアドレスは記憶のどこにあるのでしょうか? それでは、関数を定義しましょう。

int foo(int& x)
{
    return x;
}
...
foo(a);
foo(b);

fooが呼び出しているときに何が起こっていますか? つまり、値を返すときは、アドレス whos in aor b?で行っています。

4

2 に答える 2

4

あなたのコードで何が起こるかというと、abは事実上、同じメモリ位置のエイリアスです。

したがって

foo(a);

foo(b);

は事実上同一です。

于 2013-10-16T13:55:01.047 に答える