Wie benutze ich c ++ 11 Move Semantics, um Vektorinhalte an einen anderen Vektor anzuhängen?

Betrachten Sie dieses Snippet:

class X;

void MoveAppend(vector<X>& src, vector<X>& dst) {
   dst.reserve(dst.size() + src.size());
   for (const X& x : src) dst.push_back(x);
   src.clear();
}

Wenn wir das annehmenclass X implementiert Bewegungssemantik, wie kann ich effizient implementierenMoveAppend?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage