尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

C++的值类型(左值,右值,亡值,泛左值,纯右值)

C++的值类型(左值,右值,亡值,泛左值,纯右值)
📅 发布时间:2026/6/20 7:14:01

C++的值类别

img
C++的值的类型,基本可以分为左值,亡值,纯右值,泛左值,右值五种类型。

lvalue

平常我们说的左值就是lvalue,左值一般是指,可以在内存中长久存在的值,可以被取地址。

  1. 一切具有名字的变量,不论类型如何,例如std::cin或std::endl。即使变量的类型是右值引用,由其名称组成的表达式也是一个lvalue表达式;
  2. 返回类型为左值引用的函数调用或重载运算符表达式;
  3. a = b、a += b以及所有其他内置赋值和复合赋值表达式;
  4. ++a和--a,内置的前置增量和前置减量表达式;
  5. 下标表达式arr[1]和解引用*ptr;

prvalue

纯右值是最简单的右值形式,它通常代表一个临时对象、常量或一个常量表达式。

  1. 字面量(不包括字符串字面量),例如41、false、nullptr;
  2. this指针、枚举、内置的取地址表达式&a;
  3. 运算表达式中间值,如a + b、a && b、a == b;
  4. 一些返回值:
    4.1 函数调用或重载运算符表达式,其返回类型为非引用(值类型);
    4.2 a++和a--,内置的后置运算;
  5. 「lambda 表达式」例如 [](int x){ return x * x; };;

xvalue

将亡值表示一个即将被销毁的对象的资源,通常出现在转移资源的场景中。

  1. std::move()返回的右值引用;
  2. std::static_cast<T&&>()返回的右值引用;

glvalue

也称作「广义左值」是lvalue和xvalue的结合,也就是所有拥有实体的值。

rvalue

prvalue和xvalue的组合,也就是我们常说的右值,右值表示临时对象或者表达式结果,通常不持有内存位置。

相关新闻

  • 使用iptables双重DNAT
  • AT ABC290 F Maximum Diameter 题解
  • 团队作业1——团队展示选题-大学生健康生活管理与预警系统

最新新闻

  • 北京昌平离婚律所哪家好:3维度甄别昌平专业婚姻律师团 - 品牌2026
  • 本地 AI 写作环境搭建:Ollama + Open WebUI + Serper 实战记录
  • 深度剖析qrcode.vue:从技术选型到架构设计的性能优化实践
  • 3分钟免费安装VideoDownloadHelper:简单视频下载插件终极指南
  • 暗黑破坏神2存档编辑器终极教程:三步掌握角色与装备自由定制
  • 2026年市场知名的DTRO公司哪个好,DTRO膜片焊接设备/DTRO/DTRO水处理设备,DTRO源头厂家找哪家 - 品牌推荐师

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号