【发布时间】: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
【问题讨论】:
-
&refi与&i相同。 -
如果要查看i(43)的值,必须做std::cout
-
两个变量的内存地址相同?
-
是的,他们有。看看骗子。
-
同一个对象有两个名称。指针指向对象,而不是特定名称。有些指针甚至指向没有名字的对象
int* p = new int(42);。
标签: c++