C++11 左值 右值

本文详细解析了C++11中值类别的概念,包括左值、右值、纯右值及将亡值的区别与特性。左值是可以取地址的变量,而右值分为纯右值和将亡值,后者特指可被移动的对象。

在C++11中所有的值必属于左值、右值两者之一。

C++98
左值(lvalue),可以放在赋值运算符=左边的变量或者表达式,有名字,可以取地址。
右值(rvalue),临时变量值(非引用返回的函数返回值、表达式等)或者不跟对象关联的字面量值(注意:字符串字面值是左值,唯一例外),没有名字,不能取地址。
C++11
对右值进行了扩充,右值分为纯右值(prvalue,Pure Rvalue)将亡值(xvalue,eXpiring Value)
纯右值就是C++98中的右值概念。
将亡值则是C++11新增的跟右值引用相关的表达式,这样表达式通常是将要被移动的对象。

官方说明文档

Value categories

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值