一. 引用&
&作为声明出现时,是引用;在表达式中出现时,是取地址
int i=42;
int &r = i;//此时&紧跟int出现说明是在声明中,作为引用将r与i进行绑定
int *p;
p = &i;//此时&跟着表达式i,说明是取地址符,将i的地址赋给指针p
二.C++Primer中有个有意思的概念,*为解引用符
*p代表的是将p中存放的地址解开,称为解引用符(我喜欢称为解地址符,防止跟引用符弄混),整体代表为*p所指向的数据
int* p; //此时*紧跟int出现,说明是声明,作为指针
p=&i;
*p=i; //*紧跟表达式p说明是一个解引用符,直接表示指向的数据
三.引用和指针的异同
引用和指针都将另一个量与某个量绑定,
不同在于:(直接用二举例)
引用没有分配具体的对象或者说地址,只是给i起了个别称叫r,通过修改r也可以修改i,而且结束初始化后,互相一直绑定;
指针是开辟了一个新内存和变量,并将其与某个量i绑定,通过*p表示i,但是可以“解绑”,也就是将*p指向其他量
个人小记,有所纰漏,以后修改