C++17值类型 (Value Categories)

什么是值类型

值类型是对c++表达式的分类 (不是对值的分类,和变量也没有关系)

值类型有哪些

lvalue:= 能取地址的表达式
  • 变量名,方法名,数组名、数组名[下标]
  • 函数返回的左值引用
  • *指针
  • 字符串常量
xvalue := 有地址但是不能取的表达式(生命周期马上要结束)
  • std::move返回的结果
glvalue:= lvalue + xvalue = 有地址的表达式 (不管能不能取)
prvalue:= 没有地址的表达式(用于初始化对象)
  • 常量(不包含字符串常量)
  • &lvalue
  • 计算操作符+ - * / %的结果
  • lambda表达式
rvalue:= xvalue + prvalue
  • c++17以前的旧概念,在c++17以后被弱化
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值