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
?