Se ho due vettori e voglio combinarli a uno, posso farlo nel modo seguente:"MOVE" due vettori insieme
std::vector<T> a(100); // just some random size here
std::vector<T> b(100);
a.insert(std::end(a), std::begin(b), std::end(b));
che coinvolge la copia, però, che voglio evitare. C'è un modo per usare la semantica del movimento per riunirli?
Lo dubito fortemente, poiché uno vector
dovrebbe essere contiguo. Tuttavia c'è un modo per farlo con un deque
?
Grazie, ora so perché ci sono due versioni di 'std :: move' su cppreference. Ho sempre pensato che fosse un bug e non ho controllato la seconda versione. – inf
Mi ero completamente perso il fatto che 'move' era anche un algoritmo. – bames53
@ bames53 lo stesso è successo a me, ma dopo averlo ascoltato, ha senso perché c'è anche "copia". – inf