引用本身不是一个对象,因此不能定义指向引用的指针。但指针是对象,所以存在对指针的引用:
int i = 42;
int *p;
int *&r = p;
要理解r的类型到底是什么,最简单的办法是从右向左阅读r的定义。离变量最近的符号(&)对变量的类型有最直接的影响,因此r是一个引用。声明符其余部分确定r引用的类型是什么,*说明引用的是一个指针。最后,声明的基本数据类型部分指出r引用的是一个int指针。
int &*r;
如果这些写就会提示:pointer to reference is not allowed.