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

如何一眼看透复杂的 C++ 声明?秘诀就在于“由右向左”的解析顺序。

post

Vitah Lin

1 min read
0

/

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

如:

int *p;
int *&r = p;

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