对 const 对象执行移动运算
对声明为 const 或 const& 的对象调用了 std::move 函数
描述
当对声明为 const 或 const& 的对象调用 std::move 函数时,会发生此缺陷。
风险
对于声明为 const 或 const& 的对象,与您的预期不同的是,调用的拷贝构造函数而非移动构造函数。
修复
避免对 const 对象调用 std::move 函数。如果您要执行移动运算,请先将 const 对象转换为非 const 对象,然后再移动该非 const 对象。
请注意,此问题可能还会触发检查项常量 std::move 输入可能导致更高成本的对象副本。如果您决定对此问题进行申述,可以为两个结果使用相同的申述。
结果信息
| 组:编程 |
| 语言:C++ |
| 默认值:手写代码时为启动,生成代码时为关闭 |
命令行语法:MOVE_CONST_OBJECT |
| 影响:高 |
版本历史记录
在 R2020a 中推出
另请参阅
主题
- 解释 Polyspace 桌面端用户界面中的 Bug Finder 结果
- 解释 Polyspace Access Web 界面中的 Bug Finder 结果 (Polyspace Access)
- 通过 Bug 修复或申述在 Polyspace 用户界面中处理结果
- 通过 Bug 修复或申述在 Polyspace Access 中处理结果 (Polyspace Access)