【问题标题】:How can a pointer point to a reference variable? [duplicate]指针如何指向引用变量? [复制]
【发布时间】:2020-10-16 13:27:57
【问题描述】:

我正在使用 C++ 中的指针和引用变量。

int i=43;
int &refi=i;

我知道变量 refi 绑定到变量 i。然而,它没有自己的记忆。它只是变量 i 的另一个名称。那么指针如何指向这种未存储的变量。

#include<iostream>

int main(){
  int i=43;
  int &refi=i;
  int *p=&refi;
  std::cout<<p;
  return 0;
  }

但是我没有收到上述代码的任何错误。相反,我得到了它的地址。我在这里引用变量的概念错了吗?如果是的话怎么办?

输出是

0x61ff04

【问题讨论】:

  • &amp;refi&amp;i 相同。
  • 如果要查看i(43)的值,必须做std::cout
  • 两个变量的内存地址相同?
  • 是的,他们有。看看骗子。
  • 同一个对象有两个名称。指针指向对象,而不是特定名称。有些指针甚至指向没有名字的对象int* p = new int(42);

标签: c++


【解决方案1】:

引用在内存中的地址与其所引用的变量相同。这基本上使它成为一个别名。因此,当您获取引用的地址时,您将获得原始变量的地址。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-11
    • 2023-03-23
    • 2011-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多