参考对象

时间:2013-10-16 13:53:11

标签: c++ reference

我们有声明:

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

我不明白,ab之间有什么区别。我认为,ab只是地址。但这个地址在记忆中的位置在哪里?所以,让我们定义一个函数:

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

foo正在通话时发生了什么?即当我们返回ab中的地址时我们要去的值?

2 个答案:

答案 0 :(得分:4)

代码中发生的情况是ab对于相同的内存位置实际上是别名。

因此

foo(a);

foo(b);

实际上是相同的。

答案 1 :(得分:1)

http://www.cplusplus.com/doc/tutorial/pointers/

了解更多信息,cplusplus.com文章中的内容通常非常详细