给自己备忘的const引用与非const引用的区别

在看C++的时候,看到关于const引用及其非const引用的区别的,一看就懂,但老是过后就忘了,总是要翻回去看
但作者写得零零散散的,看得我迷迷糊糊的。
现在我将我理解到的区别写下来。


const引用是指指向const对象的引用,但并不是说它只能用const对象初始化,它可以绑定到 不同但相关类型的对象或绑定到右值,包括const对象与非const对象,
但都不能通过引用对其绑定的对象进行赋值,这句话的意思是对象本身可能可以被赋值,只是不能通过它的别名——引用对其赋值
而非const引用只能与完全同类型的非const对象绑定,能通过引用对其赋值。


因此,在定义引用时,若不需要对其绑定的对象进行赋值,而是进行其他的操作,如比较,输出,则最好将其定义为const引用,不然可能会改变对象的值而与自己原期望相违背,

并且也会限制了引用的使用,因为非const引用不能用const对象初始化,也不能用字面值初始化


这是我的理解,可以帮助理解,但可能没有书上写的那么严谨。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值