美文网首页
左值or右值、临时变量是const

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

作者: 冰吉凌 | 来源:发表于2015-04-21 22:01 被阅读43次

int a=0;

++(a++);

或者++a++;

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

左值和右值的区分:

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

相关文章

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

    int a=0; ++(a++); 或者++a++; 程序出错;因为a++返回的是一个临时变量,而临时变量都是co...

  • JavaScript的作用域

    引擎如何查找变量 对于变量来说有左值和右值之分: 如a = b:a为左值,b为右值。引擎对于变量的左值和右值的查找...

  • 左值与右值

    左值可以被修改的值,可以被取地址的值右值不能被修改的值,字面值常量,临时变量(将亡右值):如add(x+y,m+n...

  • C++: 右值、右值引用与move

    1. 右值 在C++11中,所有变量被分为三种:左值、将亡值、纯右值 左值:可以取地址的变量 将亡值:将要被移动的...

  • 右值引用

    1 什么是右值引用 这里面a是左值,4是右值,一般的引用都只能设置为左值的引用 b就是一个左值引用变量,意思为定义...

  • C++11左值右值、左值引用、右值引用、万能引用、完美转发

    1. 左值&右值 右值:只能在=右边使用的值(字面量、中间结果、临时对象/匿名对象),无法直接取地址,不能使用左值...

  • C++11之move语义

    要理解c++11的move语义,就需要理解C++中的左值和右值和临时对象的概念。 左值与右值和临时对象的简单介绍:...

  • C++ 右值引用与移动构造函数

    右值与右值引用 不能修改的值就是右值,右值一般为临时变量。常见的右值有字面常量值,返回右值的表达式。所谓右值引用就...

  • C语言复习

    类型 extern 外部变量声明 左值和右值 左值(lvalue):指向内存位置的表达式被称为左值(lvalue)...

  • c++右值引用

    右值引用是什么,把它拆开来说,首先是个引用,即一个变量的绑定或别名。然后这个变量是右值,可以理解为临时变量。右值是...

网友评论

      本文标题:左值or右值、临时变量是const

      本文链接:https://www.haomeiwen.com/subject/sseufttx.html