You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++23是否破坏unmove?该变更为有意设计还是会发布DR?

C++23隐式移动变更对unmove实现的影响及疑问

C++23中对隐式移动(implicit move)的标准措辞进行了变更,核心修改内容为:

符合移动条件的返回id表达式始终是xvalue

这一变更破坏了一种常用但并不恰当的unmove实现,代码如下:

template<typename T>auto unmove(T&& v) -> std::remove_reference_t<T>& { return v; }

目前各主流编译器对该变更的实现表现一致。请问:该破坏性变更是有意设计的吗?还是我们可以提交缺陷报告(DR)来修正这个问题?

内容的提问来源于stack exchange,提问作者sp2danny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 20:58:06