引用变量的内存地址

时间:2010-08-16 15:08:09

标签: c++

  

可能重复:
  Is there any way to find the address of a reference?

当我们打印实际变量和引用变量的地址时,它显示相同的地址为什么?

4 个答案:

答案 0 :(得分:10)

引用是另一个变量的别名 - 它只是分配给引用的东西的另一个名称。

在幕后,编译器可能会使用指针机制来实现它,但是如果知道有别名的东西和引用的生命周期,那么编译器可以省去

答案 1 :(得分:6)

因为它们都指向相同的内存位置。这基本上是通过引用传递的全部内容。不是传递(复制)变量的实际值,而是为了性能(和内存使用)原因而发送它的地址。

引用类似于指针,但它们更安全,并且在几个方面与指针不同。有关详细信息,请查看this page

答案 2 :(得分:5)

知道这一点也很重要:

$ 8.3.2 / 3 - “未指明参考文献是否需要存储(3.7)。”。

答案 3 :(得分:3)

因为它是参考。这意味着它引用了实际的变量。

int i = ...;
int& ri = i;

在此示例中,ri就像i的别名。