左值or右值、临时变量是const

int a=0;

++(a++);

或者++a++;

程序出错;因为a++返回的是一个临时变量,而临时变量都是const,表示的是一个右值,对常量++显然错误。


左值和右值的区分:

左值和右值都是针对表达式而言的,左值是指表达式结束后依然存在的持久对象,右值是指表达式结束时就不再存在的临时对象。一个区分左值与右值的便捷方法是:看能不能对表达式取地址,如果能,则为左值,否则为右值。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文根据众多互联网博客内容整理后形成,引用内容的版权归原始作者所有,仅限于学习研究使用,不得用于任何商业用途。 左...
    深红的眼眸阅读 13,895评论 1 12
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 13,152评论 1 51
  • 从小接受的教育是事要多做,话不要说满。这个东西,我能做就是能做,不能做绝对不会蒙你,蒙人就等于耍自己。可惜,到某些...
    呶呶的简书阅读 2,166评论 0 0
  • “不”就是一个字,有时,当你遇上一些事情的时候,你强大,你会说“不”,可如果你懦弱呢?(我也是)不敢说“不”呢? ...
    百合花王梓诺阅读 1,684评论 0 1
  • 昨天客户的工程师问我如何修改系统默认出厂时间,因为他的客户说机器的默认出厂时间太老了,现在都2016年机器的默认出...
    J_Coder阅读 9,167评论 0 2

友情链接更多精彩内容