c++ 左值 纯右值 将亡值

博客主要介绍了C++中左值、右值和将亡值的概念。C++03中,能放等号左边的是左值,只能放右边的是右值,左值也可作右值。C++11里,左值可指定函数或对象且能取地址,右值是无对象关联的值或匿名临时对象,将亡值是把纯右值转换为右值引用的表达式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通俗理解(c++03

  • 能放在等号左边的是左值
  • 只能放在等号右边的是右值
  • 左值也可以作为右值使用

c++11

  1. 左值制定了一个函数或者对象,它是一个可以取地址的表达式。
  2. 右值是不和对象相关联的值(字面量)或者其求值结果是字面量或者是一个匿名的临时对象。
    如:32 ‘a’ i++
    (a+b) //匿名的临时对象;
    &x;
    将亡值:
    将纯右值转换为右值引用的表达式
int a=1;
int& b=a;//左值引用
const int& lvr5{21};//常量左值引用可以引用纯右值;
int& lvr6{22};//错 非常量左值引用不可引用纯右值;
int&& rvr2{prv(2)};//右值引用普通函数返回值;
int&& rvr1{22};//右值引用可以引用纯右值;
rvr1=++rvr2;//右值引用可以做左值引用;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不停---

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值