Необходимо ли использовать std::move при замене двух объектов?C++

Программы на C++. Форум разработчиков
Гость
Необходимо ли использовать std::move при замене двух объектов?

Сообщение Гость »


Необходим ли std::move в следующем фрагменте?

std::function my_std_function; void call(std::function&& другая_функция) { my_std_function.swap(std::move(other_function)); } Насколько мне известно, call() принимает ссылку на rvalue.. но поскольку ссылка на rvalue сама по себе является lvalue, для вызова swap(std::function&&) Мне нужно преобразовать это в ссылку rvalue с помощью std::move

Правильны ли мои рассуждения или std::move в данном случае можно опустить (и если можно, то почему?)

Вернуться в «C++»