c++左值与右值

在学c++过程中,左值与右值的概念是一道绕不过去的坎,因此就想写一些自己的理解。

左值(lvalue)与右值(rvalue)是C++语法中的术语(terms),第一次看到这两个词的时候,很自然就认为在一个表达式中,在等号左边的就是左值,在等号右边的就是右值。如果你们第一次看到这两个词也这么认为的话,那我要恭喜你们,说明你们离理解左值与右值的概念仅一步之遥了。也许有人会说这纯粹是调侃,其实不然,等我把前面说的话稍微升华一下,你就会发现其实也不无道理。

       前面说我第一次理解左值右值的时候,我提到了几个关键的词,分别是“表达式”,“等号”,“左边”,“右边”。你也许会很困惑我为什么要强调这几个词,其实在说左右值的时候,我们已经很自然的给它添加了一些限制。

首先,“表达式”就是左值与右值出现的地点,也就是说,无论我们何时谈到左值和右值,都必须与表达式联系起来。只有在表达式中,左右值才能体现它该有的属性意义。

其次,等号可以很自然让我们区分什么是左,什么是右。当然左值与右值的概念不可能仅仅只是靠等号的左右去区分的。但我们可以想想,等号左边是用来干嘛的?等号右边是用来干嘛的?聪明的你肯定会回答,等号左边是用来保存右边的值,等号右边是用来把值给左边的,即左边是用来被赋值的,右边用来赋值的。当想明白这点之后我们就可以假设,左值就是用来被赋值

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值