[C/C++]对于引用类型的理解

对于引用的理解:

  • ①引用绑定:其实定义一个引用的形参比如int& a作为函数参数,在实际调用中传入的是一个内存区域(左值),在进入函数的时候,进行了一次引用绑定,即将a这个引用(可以把引用也理解成一种类型,除了指针、变量之外,还有引用类型)绑定到了那个左值。这只是一个左值引用例子,其实引用分为右值引用和左值引用。 右值引用相对于左值引用的区别是:右值是一个会被释放的值,如果不将右值绑定到一个右值引用,那么右值用完就自动销毁了。而左值是一个内存空间,不管引不引用,都是存在的。表述方式:左值:int& a,右值:int&& a,多一个&而已。
  • ②引用折叠:函数的形参和实参可能是分别是以下几种情况:左值,右值,左值引用,右值引用,那如果入参和形参类型一致,那么没什么好说的,直接就传入函数了,如果类型不一致,会进行隐式转换,这里只说引用的转换:&+&仍然是左值引用&+&&=&,还是左值引用,&&+&=&仍然是左值引用,只有&&+&&=&&只有这种情况是右值。即左值优先的原则。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值