写这个的时候:
void foo(int*& x);
如果我理解正确的话,不是&
中和*
,而是foo
接受int*
类型的x
引用。
但是当我这样写的时候会发生什么呢?
void foo(int&* x);
是指向引用的指针吗?编译器会优化它并取实际值吗?
编辑:所以我不能把指针指向引用,但为什么呢?它是否与引用的地址是堆栈地址有关?
§8.3.2 [dcl.ref]/p5:
不能有对引用的引用,不能有引用的数组,没有指向引用的指针。
int&*
不是格式良好的,不能获取指向引用的指针