C++中的引用和指针

一. 引用&

&作为声明出现时,是引用;在表达式中出现时,是取地址

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指向其他量

个人小记,有所纰漏,以后修改

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值