主要内容

对 const 对象执行移动运算

对声明为 constconst& 的对象调用了 std::move 函数

描述

当对声明为 constconst& 的对象调用 std::move 函数时,会发生此缺陷。

风险

对于声明为 constconst& 的对象,与您的预期不同的是,调用的拷贝构造函数而非移动构造函数。

修复

避免对 const 对象调用 std::move 函数。如果您要执行移动运算,请先将 const 对象转换为非 const 对象,然后再移动该非 const 对象。

请注意,此问题可能还会触发检查项常量 std::move 输入可能导致更高成本的对象副本。如果您决定对此问题进行申述,可以为两个结果使用相同的申述。

结果信息

组:编程
语言:C++
默认值:手写代码时为启动,生成代码时为关闭
命令行语法:MOVE_CONST_OBJECT
影响

版本历史记录

在 R2020a 中推出