Libreria C ++ Iterator - move_iterator
Descrizione
È un adattatore iteratore che si comporta esattamente come l'iteratore sottostante.
Dichiarazione
Di seguito è la dichiarazione per std :: move_iterator.
C ++ 11
template <class Iterator> class move_iterator;
Parametri
Iterator - È un tipo iteratore bidirezionale.
Valore di ritorno
nessuna
Eccezioni
Se x in qualche modo genera mentre applica l'operatore unario & ad esso, questa funzione non genera mai eccezioni.
Complessità temporale
costante per iteratori ad accesso casuale.
Esempio
L'esempio seguente mostra l'utilizzo di std :: move_iterator.
#include <iostream>
#include <iterator>
#include <vector>
#include <string>
#include <algorithm>
int main () {
std::vector<std::string> foo (3);
std::vector<std::string> bar {"sai","ram","krishna"};
typedef std::vector<std::string>::iterator Iter;
std::copy ( std::move_iterator<Iter>(bar.begin()),
std::move_iterator<Iter>(bar.end()),
foo.begin() );
bar.clear();
std::cout << "foo:";
for (std::string& x : foo) std::cout << ' ' << x;
std::cout << '\n';
return 0;
}
Compiliamo ed eseguiamo il programma sopra, questo produrrà il seguente risultato:
foo: sai ram krishna