如何理解复杂的指针或引用语句

面对一条比较复杂的指针或引用的声明语句时,从右向左阅读有助于弄清楚它的含义。

如:

1
2
int *p;
int *&r = p;

离变量最近的符号(此例中&r的符号是&)对变量的类型有最直接的影响,因此r是一个引用,声明符的其余部分用以确定r引用的类型是什么,此例中的符号*说明r引用的是一个指针。最后,声明的基本数据类型表明指针r引用的是一个int指针。

署名 - 非商业性使用 - 禁止演绎 4.0