• 像&和*这样的符号,既能用作表达式里的运算符,也能作为声明的一部分。符号上下文决定了符号的含义。
1
2
3
4
5
6
int i = 42;
int &r = i; // &紧随类型名int出现,因此是声明的一部分,r是一个引用
int *p; // *紧随类型名int出现,因此是声明的一部分,p是一个指针
p = &i; // &出现在表达式中,是一个取地址符
*p = i; // *出现在表达式中,是一个解引用符
int &r2 = *p; // &紧随类型名int出现,是声明的一部分;*出现在表达式中,是一个解引用符

摘自C++ primer