【发布时间】:2022-10-24 04:50:39
【问题描述】:
我研究数组已经有一段时间了,我很难理解这些代码行背后的想法:
int array[] {1, 2, 3, 4};
std::cout << "The address of the first element is " << &array[0];
为什么在这种情况下引用打印地址而不是值? 据我所知,引用访问被引用对象的值,而不是它的地址。
【问题讨论】:
-
那不是参考 - 它是地址运算符
-
表达式
array[0]产生对数组元素的引用(int&)。在此引用上应用地址运算符(一元&)会生成指向此元素的指针(int*)