首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
右值大类rvalue的xvalue,和 左值大类glvalue的xvalue的区别
📅 2026/9/13 22:33:33
✍️ 爱科研究院
👁 阅读 3,247
答案没有区别它们是同一个东西。“xvalue” 不是两种不同的 xvalue一种属于 rvalue、一种属于 glvalue而是唯一一个同时被两个大类都包含的基本类别——正因为它同时满足有 identity属于 glvalue 的条件和可被移动属于 rvalue 的条件这两个性质所以它天生就落在两个大类的交集里。用之前提到的两条正交性质来看会更清楚有 identity能确定这个表达式指向的是不是同一个实体→ 满足的叫glvalue可被移动可以合法地把资源掏空→ 满足的叫rvalue三个基本类别是这两条性质的三种实际组合第四种组合既无身份又不可移动在 C 里不存在因为一个连身份都没有的临时值天然就是可以随便处置、被移动的lvalue 有身份、不可移动xvalue 有身份、且可移动prvalue 没身份、可移动所以当说到xvalue 是 rvalue 的一种时指的是它满足可移动这条性质当你说xvalue 也是 glvalue 的一种时指的是它同时满足有身份这条性质。两句话描述的是同一批表达式只是分别强调了它具备的两条性质中的一条。这也正是标准专门发明 xvalue 这个类别的原因——C11 引入右值引用之后需要一个类别来描述这东西像左值一样有身份所以std::move(x).x这种取成员、或者绑定T引用都合法但资源又可以像右值一样被掏空std::move(x)正是这种情况的典型代表。
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/9/13 22:33:33
AgentScope 2.0 完整上手:从终端调试到多智能体服务,权限、沙箱、RAG 一次讲清
2026/9/13 22:33:33
大数据压缩技术:核心算法、选型策略与实战优化
2026/9/13 22:33:32
Pydantic AI 接入 Hindsight 实现持久化记忆:异步记忆工具与自动指令注入实战指南
2026/9/13 23:13:37
实测 Seko 出海创作能力——一部中文成片,如何长出“海外分身“
2026/9/13 23:13:36
CubePlex -- 企业级 Agent 平台正式开源
2026/9/13 23:13:36
VB6证件管理系统源码解析:模块化架构与ADO数据库实践
2026/9/13 23:13:36
Open SWE:开源异步编程Agent框架解析与应用
2026/9/13 23:13:36
Haystack MirageShellTool 实战指南:让 Agent 通过 bash 操作统一虚拟文件系统
2026/9/13 23:08:36
Java后端必懂的网络基础:分层、TCP/IP、HTTP与排查实战
2026/9/13 0:01:25
拯救者Y7000黑屏故障排查与维修实战指南
2026/9/13 0:01:25
AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验
2026/9/13 0:01:25
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化
2026/9/13 0:01:25
拯救者Y7000黑屏故障排查与维修实战指南
2026/9/13 0:01:25
AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验
2026/9/13 0:01:25
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化