"используйте" параметры, объявленные, когда X && должны всегда перемещаться от
"используйте" параметры, объявленные, когда X && должны всегда перемещаться от.
При объявлении функции вы можете указать на свое намерение переместить содержимое параметра функции путем объявления его как nonconst и не обработать по шаблону rvalue ссылку или "использование" (X&&) параметр. Например, параметр этой функции объявляется как "использовать" параметр: void foo(std::vector<std::string>&& V). Это объявление подразумевает что содержимое векторного V предназначается, чтобы быть перемещенным вместо скопированного в теле функции.
Когда вы объявите параметр функции как "использовать" параметр, используйте семантику перемещения при использовании параметра. В теле функции используйте std::move функционируйте явным образом, если вы используете lvalue ссылку, чтобы вызвать функцию.
Polyspace® отмечает определение функции, если оба из этих условий верны:
По крайней мере один параметр функции объявляется как nonconst и нешаблон rvalue ссылка, то есть, "использование" или X&& параметр.
Содержимое X&& параметр не полностью перемещен в другой объект при помощи std::move функция в теле функции.
Polyspace не повышает этот дефект в конструкторах перемещения и перемещает операторы присваивания.
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
| Группа: операторы объявления |
| Категория: необходимый, автоматизированный |