Bibliothèque Iterator C ++ - make_move_iterator
La description
Il en construit un objet move_iterator.
Déclaration
Voici la déclaration pour std :: make_move_iterator.
C ++ 11
template <class Iterator>
move_iterator<Iterator> make_move_iterator (const Iterator& it);
Paramètres
it - C'est un itérateur.
Valeur de retour
Il retourne un move_iterator équivalent, mais qui se déplace sur les déréférences.
Des exceptions
Si x lève d'une manière ou d'une autre en lui appliquant l'opérateur unaire &, cette fonction ne lève jamais d'exceptions.
Complexité temporelle
constante pour les itérateurs à accès aléatoire.
Exemple
L'exemple suivant montre l'utilisation de std :: make_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 {"tutorialspont","com","india"};
std::copy ( make_move_iterator(bar.begin()),
make_move_iterator(bar.end()),
foo.begin() );
// bar now contains unspecified values; clear it:
bar.clear();
std::cout << "foo:";
for (std::string& x : foo) std::cout << ' ' << x;
std::cout << '\n';
return 0;
}
Compilons et exécutons le programme ci-dessus, cela produira le résultat suivant -
foo: tutorialspont com india