C++ 中有两种类型的表达式:

  • 左值(lvalue):指向内存位置的表达式被称为左值(lvalue)表达式。左值可以出现在赋值号的左边或右边。
  • 右值(rvalue):术语右值(rvalue)指的是存储在内存中某些地址的数值。右值是不能对其进行赋值的表达式,也就是说,右值可以出现在赋值号的右边,但不能出现在赋值号的左边。

变量是左值,因此可以出现在赋值号的左边。数值型的字面值是右值,因此不能被赋值,不能出现在赋值号的左边。下面是一个有效的语句:

int g = 20;

但是下面这个就不是一个有效的语句,会生成编译时错误:

10 = 20;

C++ 中的左值(Lvalues)和右值(Rvalues)相关推荐

  1. c 表达式必须是可修改的左值_C++中的左值,右值,左值引用,右值引用

    童帅 2020-2-22 文中的"表达式"都是指赋值表达式 左值,右值,左值引用,右值引用 到底是什么 左值和右值 int a = 10; int b = 5; int c = a ...

  2. [c++]-c++中的左值和右值、左值引用和右值引用、万能引用和引用折叠及完美转发

    1.左值和右值 1.1左值和右值定义 在c++中,左值是一个指向内存的东西,换句话来讲,左值有地址,保存在内存中,右值则为不指向任何地方东西,即不在内存中占有确定位置.一般来说,右值是暂时和短暂的,而 ...

  3. c语言中字符串关于左值,关于左值lvalue和右值rvalue的一点理解

    发现很多朋友对"lvalue"和"rvalue"理解有误,我先谈谈自己对此的一些理解,并期望能够引起更多朋友的广泛讨论.也算起到抛砖引玉的作用吧.引用:注:这里 ...

  4. C++/C++11中左值、左值引用、右值、右值引用的使用

    C++的表达式要不然是右值(rvalue),要不然就是左值(lvalue).这两个名词是从C语言继承过来的,原本是为了帮助记忆:左值可以位于赋值语句的左侧,右值则不能. 在C++语言中,二者的区别就没 ...

  5. 的引用_左值、右值、左值引用、右值引用

    [导读]:本文主要详细介绍了左值.右值.左值引用.右值引用以及move.完美转发. 左值和右值 左值(left-values),缩写:lvalues 右值(right-values),缩写:rvalu ...

  6. C++面试 左值、右值、左值引用、右值引用

    1.左值和右值 左值(left-values),缩写:lvalues  ,located value 可定位值,其含义是可以明确其存放地址的值,更确切说对其的使用是基于地址 右值(right-valu ...

  7. C++ 11 左值,右值,左值引用,右值引用,std::move, std::foward

    这篇文章要介绍的内容和标题一致,关于C++ 11中的这几个特性网上介绍的文章很多,看了一些之后想把几个比较关键的点总结记录一下,文章比较长.给出了很多代码示例,都是编译运行测试过的,希望能用这些帮助理 ...

  8. c语言 变量的左值和右值,C++雾中风景10:聊聊左值,纯右值与将亡值

    C++11的版本在类型系统上下了很大的功夫,添加了诸如auto,decltype,move等新的关键词来简化代码的编写与降低阅读代码的难度.为了更好的理解这些新的语义,笔者确定通过几篇文章来简单窥探一 ...

  9. C/C++编程:std::move(将左值强制转换为右值)

    正文 C++11标准中借助右值引用可以为指定类添加移动构造函数,这样当使用给类的右值对象(可以理解为临时对象)初始化同类对象时,编译器会优先选择移动构造函数 注意,移动构造函数的调用时机是:用同类的右 ...

  10. 【C++11】左值引用和右值引用

    目录 一.新的类功能 1.新的默认成员函数 2.类成员变量初始化 3.强制生成默认函数的关键字default 4.禁止生成默认函数的关键字delete 二.左值和右值 1.左值和左值引用 2.右值和右 ...

最新文章

  1. jquery实现上传图片及图片大小验证、图片预览效果代码
  2. 编译安装keepalived-1.2.2.tar.gz报错处理
  3. 命令 / GDB / 多进程调试 + 多线程调试
  4. java更改背景_java – 使用jquery更改menue的背景颜色
  5. 一直想说的,技术职业化
  6. ipad xcode连接不了iPad的。
  7. elasticsearch5.3安装kibana、x-pack插件、elasticsearch-an
  8. 小企业如何才能做强做大?
  9. BootStrap学习(1)
  10. django传递临时数据
  11. Atitit 登录模块常见的安全措施条例与攻击行为表 目录 1. 安全目标 1 2. 常见安全措施 2 2.1. 修改密码需要验证员密码 2 2.2. 密码Salt加盐机制 2 2.3. Sql防注
  12. docker 删除悬空镜像
  13. python在电脑上下载哔哩哔哩视频
  14. 2022下半年软考报名入口!
  15. el-select 远程搜索时 没有箭头图标
  16. 没病到一定程度,你千万别去。
  17. 只有程序员能听懂的笑话【关于TCP的链接的笑话】
  18. win10启动后黑屏很久才进入登录界面
  19. edge浏览器如何把网页放到桌面_win10系统怎么把Edge浏览器放到桌面?Edge怎么创建桌面快捷方式...
  20. 公众号改名了,聊聊我的思考

热门文章

  1. 关于网页乱码和字符编码方式
  2. Codeforces Round #335 (Div. 1)--C. Freelancer's Dreams 线性规划对偶问题+三分
  3. 集合,stack,queue,dictionary,ArrayList,listT
  4. java JDBC连接Oracle数据库的方法
  5. MVC3教程之新手入门(转)
  6. 好程序员大数据教程:SparkShell和IDEA中编写Spark程序
  7. 设计模式之-工厂方法模式
  8. svn 部署问题总结
  9. java 的序列化和反序列化的问题
  10. Linux mail 命令