所以我正和朋友讨论参考和指针.
我们谈到的是"你可以拿一个指针的地址,但你不能拿一个参考的地址"
我在这一点上不同意.让我们举一个例子:
int x = 0;
int &xRef = x;
cout << &xRef << &x <<endl;
Run Code Online (Sandbox Code Playgroud)
这个例子显示了相同的地址,但从来没有采取xRef过这样做的地址&xRef.难道你不能说我们有两个具有相同地址的变量,所以即使我正在获取引用的地址,它仍然是引用的地址(即使这是x的地址)?
C++标准n3337 § 8.3.2/4
未指定参考是否需要存储(3.7).
因此,未指定引用是否具有存储.最有可能不是.这只是别名.当你在代码中使用它时,编译器会采取特殊操作,它可能会做一些类似于指针操作的事情.