首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
什么是 C++ 的左值和右值?有什么区别?
[问答题]
什么是 C++ 的左值和右值?有什么区别?
查看答案及解析
添加笔记
求解答(0)
邀请回答
收藏(38)
分享
纠错
21个回答
添加回答
2
牛客699783107号
可以取地址的变量是左值,不能取地址的是右值。
发表于 2025-07-27 09:53:37
回复(0)
2
不讲武德a
简单说,左值就是等号左边的值,可以对其取地址,一般是变量名,右值就是等号右边的值,一般是常量
发表于 2025-07-22 10:21:12
回复(0)
0
玄奘1
可以取地址的变量是左值,不能取地址的是右值。
发表于 今天 14:19:16
回复(0)
0
offer快快到怀里来
左值:等号左边的变量,有内存地址 右值:等号右边的变量,只是一个数据,不能取地址
发表于 2025-09-26 16:29:08
回复(0)
0
Lucerys11
左值有地址,可以取地址,右值只是临时值,表达式结束就会销毁
发表于 2025-09-24 19:28:27
回复(0)
0
牛客293230045号
左值可以取地址,右值不可以取地址,是临时变量
发表于 2025-09-17 18:52:38
回复(0)
0
PPPaisha
左值就是出现在赋值语句的左侧 并且持久存储地址的表达式 而右值是出现在赋值语句右侧 表示临时变量或者是字面常量的一个量 左值既可以出现在赋值语句的左侧 也可以出现在赋值语句的右侧 而右值只能出现在赋值语句的右侧 左值的生命周期一般较长 可以维持到作用域结束 而右值的生命周期较短 纯右值一般会在表达式结束之后立即销毁 将亡值在表达式结束之后同样会结束 只是具备可移走语义
发表于 2025-09-07 18:51:43
回复(0)
0
在摸鱼的菜鸡很粗心
左值一般表示具有持久地址的表达式,例如解引用,数组元素,数据变量,右值一般是没有持久地址的常量,例如函数的返回值
发表于 2025-09-06 14:55:19
回复(0)
0
今天阳光好灿烂
**左值(lvalue)**:有持久地址的对象,可出现在赋值左侧。 **右值(rvalue)**:临时对象和字面量,无地址,只出现在赋值右侧。 **左值引用(T&)**:绑定左值,可修改原对象 **右值引用(T&&)**:绑定右值,可修改临时对象,用于移动语义和完美转发 | 类型 | 存储地址 | 生命周期 | 可否修改对象 | 示例 | | -------------- | -------- | -------------- | ------------ | ----------------- | | 左值 (lvalue) | 有 | 持久 | ✅ | `int x; x = 10;` | | 右值 (rvalue) | 无 | 临时 | ❌ | `10`, `x+5` | | 左值引用 (T&) | 有 | 与绑定对象相同 | ✅ | `int& r = x;` | | 右值引用 (T&&) | 有 | 延长临时对象 | ✅ | `int&& rr = x+5;` |
发表于 2025-09-04 10:55:29
回复(0)
0
牧之原祥子
简单而言 左值就是可以取地址的值 右值无内存地址
发表于 2025-08-26 21:59:47
回复(0)
0
月色真美月光护佑
c++的左值是能取地值的值,它能够持久化存储,相反不能取地址的是右值,一般是临时变量
发表于 2025-08-25 22:02:00
回复(0)
0
kuuko
右值是临时变量,不可取地址,左值可以对其取地址,在C++11后新增特性,可以对右值进行引用
发表于 2025-08-22 15:24:31
回复(0)
0
仪宝x
左值可以取地址,右值是临时值,无法取地址,只能在等号右侧
发表于 2025-08-19 14:54:31
回复(0)
0
Cpp小白
左值是能取地址的值,右值是不能取地址的值,临时变量等,即将销毁的值
发表于 2025-08-11 21:29:13
回复(0)
0
才华横溢的小飞象很爱吃鱼
左值:可以取地址,存储确定地址,赋值等式左边
发表于 2025-08-11 08:40:47
回复(0)
0
爱刷题的坤坤
左值可以取地址,右值不行比如临时变量,函数的返回值,字母常量45
发表于 2025-08-05 22:40:59
回复(0)
0
想吃火锅的代码渣渣在发呆
C++左值一般是变量在等号左边,右值一般为常量或者对象,只能在右边
发表于 2025-07-30 20:49:09
回复(0)
0
小脑袋瓜锃亮
左值通常是用来表示某片已经被开辟内存的名字,他是有实际的内存地址的可以被赋值具体的数据并将其保存,通常作为变量出现,而右值通常是一组临时数据,不会有专门为其开辟的地址,相应的表达式调用结束后就销毁了
发表于 2025-07-28 23:35:35
回复(0)
0
陈家辉爱嗦牛子
左值可以被取地址,可以出现在表达式的左侧或者右侧,比如变量。右值不能被取地址,出现在表达式的右侧,一般是字面常量
发表于 2025-07-21 10:42:55
回复(0)
0
dalun
左值是具有持久存储地址的表达式,可 取其地址,出现在赋值语句左侧; 右值表示临时对象或字面常量,不具有持久存储地址,出现在赋值语句右侧
发表于 2025-07-08 15:22:12
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
难度:
21条回答
38收藏
190浏览
热门推荐
相关试题
关于 C++ 中友元(friend...
C++
评论
(1)
把下面的六个图形分为两类,使每一类...
图形推理
评论
(2)
从所给的四个选项中,选择最合适的一...
图形推理
评论
(1)
对于以下使用元类(Metaclas...
Python
评论
(1)
在多层PCB设计中,以下哪种层叠结...
PCB
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题