c++ - 为什么指向引用的指针在 C++ 中是非法的?

标签 c++ pointers reference

正如标题本身所提到的 - 为什么指向引用的指针是非法的,而相反的在 C++ 中是合法的?

最佳答案

指针需要指向一个对象。引用不是对象。

如果你有一个引用r,一旦它被初始化,任何时候你使用r你实际上是在使用引用所引用的对象。

因此,您不能首先获取引用的地址来获取指向它的指针。考虑以下代码:

int x;
int& rx = x;

int* px = ℞

在最后一行中,&rx 获取了 rx 引用的对象的地址,所以它和你说的 &x.

关于c++ - 为什么指向引用的指针在 C++ 中是非法的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4632762/

相关文章:

pointers - 如何在 D 中声明一个指向非常量/可变数据的常量指针?

c++ - 将非常量引用传递给线程

c++ - 网格三角形上的复杂 OpenMP 并行化

c - c中地址和指针的类型

c - 不兼容的指针类型 - C

c# - 值类型与引用类型 - 对象类 C#

c++ - 将 const 传递给具有非常量参数的函数

c++ - 持有对多重嵌套 std::vector 的引用的正确内容是什么?

c++ - 如何在 Lua 5.3 中注册 C++ 类和函数

c++ - 无法在 Linux 中使用 c_str() 打开文件