终端中未显示内存地址(参考)

Memory address (reference) not being displayed in terminal

本文关键字:参考 地址 内存 显示 终端      更新时间:2023-10-16

我正在尝试在显示屏上输出一个简单的char地址,但使用&不起作用:

#include <iostream>
using namespace std;
typedef int no;
typedef char nose;
typedef void laps;
laps noname(nose &boogers);
no main(no args, nose**LOC[])
{
cout << "Try ";
nose boogers = 't';
noname(boogers);
}
laps noname(nose &boogers)
{
cout << &boogers;
}

我已经通过删除圈数参数的与号来尝试过,但是&boogers基准面无论哪种方式都不起作用,因为在控制台上它只显示"t"字符而不是地址。

我在这里做错了什么吗?

JSYK:它编译得很好,完全没有警告。我只想知道为什么我没有得到地址而不是值。

定义引用后,不能引用引用本身,只能引用它引用的对象。这就是 c++ 的运作方式。我怀疑这是因为引用并不意味着要更改,这是它们与指针区别的方面之一。通过不允许您访问内存地址来阻止更改内存地址。