0

可能重复:
C++ 引用,更改引用的变量

我知道 C++ 中的引用只是在您使用它们时为您取消引用的指针。这个问题是关于如何访问底层指针并更改它。

考虑这段代码:

int x;
int& x_ref = x;              //now equivalent to x
int* x_ptr = &x;         //stores address of x
int* x_ref_ptr = &x_ref; //ALSO stores address of x

int&* x_ref_ptr_ref = ???; //what would this mean?

我正在尝试在初始化后更改参考点的位置。我不关心类型安全或适当的做法。c++语言有什么工具可以让我完成这个吗?

4

2 回答 2

5

没有指向引用的指针,它的格式不正确。引用是对象的别名。指向别名的指针如何工作?

此外,该语言的一个特性是无法重新设置引用。可重新安装的引用是一个指针。

于 2012-09-21T11:25:44.237 回答
0

这在设计上是不可能的。通过使用引用而不是指针,您决定在声明后永远不要更改其目标,这会带来所有缺点和优点(其中之一是它的“自动取消引用”。仔细阅读Wikipedia 上的引用条目。

您将需要切换到指针。

于 2012-09-21T11:30:32.910 回答