关于c++引用(函数实参和形参)

图中有一处错误 函数 形参1 是free_throws &target

 对于函数调用2,如果函数写成free_throws accumulate(形参1,形参2);会报错,没有加引用&

对于函数调用1,无论加还是不加,都不会报错。

我们的解释是:在调用2中,对于实参1,在free_throws (不加&)accumulate(形参1,形参2)情况下,他返回的是team的副本,是一个右值,

所以对于左值引用,右值不能传给左值的(左值指的是可以取地址的变量(变量,数组元素,结构成员),记住,左值与右值的根本区别在于能否获取内存地址)。

左值对于变量引用,是一个变量的别名,无论是作为函数实参的传递 还是初始化,都应该是变量。所以aver(1),int &z=2(2是右值,正确应该是int &&z=2)都是不对的。

 

转载自:https://blog.csdn.net/qq_39642794/article/details/80241492

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值