我刚刚开始学习C++中的引用,我尝试了以下代码:
#include <iostream>
using namespace std;
int main()
{
int ival = 1024;
int &refVal = ival;
// refVal refers to (is another name for) ival
cout<< &refVal<<endl;
return 0;
}
其中该程序的输出为:
0x61feb8
我不知道是什么? 如果你觉得我在这里缺少一些基本的/非常重要的知识,也请详细说明!
我不知道是什么?
cout<;
refval
的地址(即ival
的地址)。
如果你觉得我在这里缺少一些基本的/非常重要的知识,也请详细说明!
您混淆了引用和指针,&
有两种不同的含义:
参考数据的解调:
int& refVal = ival;
// ^ part of the type
操作员地址:
int* refPtr = &refVal;
//^ adress of operator
坦率地说,是的,这既是基本的,也是非常重要的,它应该在一本介绍性书籍的第一章中涵盖。
要通过引用refval
打印ival
的值,请执行以下操作:
std::cout << refVal;
注意,没有特殊的语法来“取消引用”。 引用就像别名,同一名称不同。