【听哥一句劝,C++水很深,你把握不住啊!】C++提高班之 &符与*符

111 阅读1分钟

C++提高班之 &符与*符

像&和*这样的符号,既可以作为表达式中的运算符,也能作为声明的一部分出现,符号的上下文决定了符号的意义:

int i = 27;

int &r = i;     //&紧随类型名出现,因此是声明的一部分,r是一个引用
int *p;	        //*紧随类型名出现,因此是声明的一部分,p是一个指针
p = &i;         //&出现在表达式中,是一个取地址符
*p = i;         //*出现在表达式中,是一个解引用符
int &r2 = *p;   //&是声明的一部分,*是一个解引用符

在声明语句中,&和*用于组成复合类型;在表达式中,他们的角色又转变成了运算符。在不同的场景下出现的虽然是同一个符号,但是其含义截然不同,我们需要把它们当做不同的符号来看待。