[原创]什么叫左值、右值。以及为什么返回类型要用引用。

如果不返回引用那作为右值没有问题,即只能拿来用,不能对其赋值。
一般的函数返回值都是拿来用的,如果想要对返回值赋值,则返回引用类型。
所以返回引用类型就这个作用。


举例:
以下是何洁月视频中定义动态数组类array<T>时,类里重载[]运算符的函数定义。
只用返回引用类型,那么才可以将返回的如a[1]作为左值对其赋值。
// 重载下标操作符,实现与普通数组一样通过下标访问元素,并且具有越界检查功能
template <class T>
T& Array<T>::operator[] (int n)
{
   // 检查下标是否越界
   if (n < 0 || n > size-1)
      Error(indexOutOfRange,n);
   // 返回下标为 n 的数组元素
   return alist[n];
}



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值