Ist std::move
im folgenden Code-Schnipsel erforderlich?Ist `std :: move 'hier notwendig?
std::function<void(int)> my_std_function;
void call(std::function<void(int)>&& other_function)
{
my_std_function.swap(std::move(other_function));
}
Soweit ich call()
akzeptiert eine rvalue Referenz wissen .. aber da die rvalue Referenz selbst einen L-Wert, um swap(std::function<void(int)>&&)
zu nennen ich dies mit std::move
Ist meine Argumentation korrekt oder std::move
kann in diesem Fall weggelassen werden (und wenn es kann, warum?)
Scheint, Sie möchten Operator = anstelle von hier tauschen. Und dann, ja, benutze move. –