2012-09-21 57 views
0

可能重复:
C++ Reference, change the refered variable修改参考变量,而不是变量,他们别名

我知道,在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++语言是否有任何工具可以让我完成这个任务?

+1

你所“知道”的内容可能并不是真的,指针是指针,引用是引用,它们是不同的东西 –

回答

0

这是不可能的按设计。通过使用引用而不是指针,您决定在声明后永远不会改变它的目标,所有带来的缺点和优点(其中之一是它的“自动解引用”)

您需要切换指针

+0

那篇文章说,典型的编译器在内部实现它作为指针。 '回答我的问题。 – Filipp

5

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

此外,它是一个功能的一种参考不能被重置的语言。可重新引用是一个指针。