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