Como usar a semântica de movimento c ++ 11 para anexar conteúdo vetorial a outro vetor?
Considere este trecho:
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();
}
Se assumirmos queclass X
implementa semântica de movimento, como posso implementar de forma eficienteMoveAppend
?