美文网首页
C中的左值与右值

C中的左值与右值

作者: Mr旺旺 | 来源:发表于2022-02-27 14:22 被阅读0次

在学习C中有遇到左值与右值的概念,这里做出区分


左值(L-value)

可以出现在赋值符号左边的“东西”,表示了一个占据内存中某个可识别的位置(也就是一个地址)的对象。

右值(R-value)

可以出现在赋值符号右边的“东西”,不表示内存中某个可识别位置的对象的表达式。


eg: a = b + 1

这里a就是左值,标识了一个占据内存,可以存储结果值的对象

b+1是右值,不是内存中某个可识别位置的对象

假设b+1是左值,计算机在计算这个值时,没有办法预测这个结果存储在什么地方,也无法保证这个表达式的值下次是否还会存储在同一个地方,因此不是左值。

相关文章

  • C++11那些难事:左值引用、右值引用与完美转发

    上一篇C++那些难事:左值与右值搞明白左值与右值,下面讲解左值引用与右值引用。 1. 左值引用与右值引用 左值右值...

  • 左值右值引用和移动构造

    左值与右值 左值引用右值引用 C++ 11中用&表示左值引用,用&&表示右值引用 (move函数可以把一个) 进...

  • C++11: 右值引用

    C++11: rvalue 右值 rvalue & lvalue(右值与左值) 左值与右值的定义是比较复杂,下边仅...

  • 右值引用

    参考资料 谈谈 C++ 中的右值引用C++11 左值、右值、右值引用详解

  • C++11之move语义

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

  • C++ 左值与右值 右值引用 引用折叠 => 完美转发

    左值与右值 什么是左值?什么是右值? 在C++里没有明确定义。看了几个版本,有名字的是左值,没名字的是右值。能被&...

  • C++11右值引用、移动语义和完美转发

    左值、右值 在C++中,所有的值不是左值,就是右值。左值是指表达式结束后依然存在的持久化对象,右值是指表达式结束后...

  • C中的左值与右值

    在学习C中有遇到左值与右值的概念,这里做出区分 左值(L-value) 可以出现在赋值符号左边的“东西”,表示了一...

  • C++11 左值 右值

    左值、右值   在C++11中所有的值必属于左值、右值两者之一,右值又可以细分为纯右值、将亡值。在C++11中可以...

  • C++11 左值、右值、右值引用详解

    左值、右值 在C++11中所有的值必属于左值、右值两者之一,右值又可以细分为纯右值、将亡值。在C++11中可以取地...

网友评论

      本文标题:C中的左值与右值

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