Необходимо ли использовать std::move при замене двух объектов? ⇐ 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 в данном случае можно опустить (и если можно, то почему?)
Необходим ли 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 в данном случае можно опустить (и если можно, то почему?)
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Будет ли добавление элементов Std :: String в Std :: deque с Std :: Move более эффективным?
Anonymous » » в форуме C++ - 0 Ответы
- 28 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Будет ли добавление элементов Std :: String в Std :: deque с Std :: Move более эффективным?
Anonymous » » в форуме C++ - 0 Ответы
- 21 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Будет ли добавление элементов Std :: String в Std :: deque с Std :: Move более эффективным?
Anonymous » » в форуме C++ - 0 Ответы
- 19 Просмотры
-
Последнее сообщение Anonymous
-