¿Cómo usar c ++ 11 mover la semántica para añadir contenidos vectoriales a otro vector?
Considera este fragmento:
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();
}
Si asumimos queclass X
Implementa movimientos semánticos, ¿cómo puedo implementar eficientemente?MoveAppend
?