std::move
вызывается функция с объявленным объектом const
или const&
Этот дефект возникает, когда std::move
вызывается функция с объявленным объектом const
или const&
.
Для объектов, объявленных const
или const&
, в отличие от ожидаемого, вместо конструктора перемещения вызывается конструктор копирования.
Избегайте вызова std::move
функция на const
объекты. Если вы хотите выполнить операцию перемещения, приведите const
объект, не являющийся const
один, а затем переместить не- const
объект.
Обратите внимание, что эта проблема может также привести к запуску проверки Const std::move input may cause a more expensive object copy
. Если вы решите обосновать проблему, можно использовать одно и то же обоснование для обоих результатов.
Группа: Программирование |
Язык: C++ |
По умолчанию: On для рукописного кода, off для сгенерированного кода |
Синтаксис командной строки
: MOVE_CONST_OBJECT |
Влияние: Высокий |