Bibliothèque d'itérateurs C ++ - inséreuse

La description

Il construit un itérateur d'insertion qui insère de nouveaux éléments dans x à des emplacements successifs en commençant à la position pointée par celui-ci.

Déclaration

Voici la déclaration de std :: inserter.

C ++ 11

template <class Container, class Iterator>
  insert_iterator<Container> inserter (Container& x, Iterator it);

Paramètres

x - C'est un conteneur sur lequel l'itérateur va insérer de nouveaux éléments.

Valeur de retour

Il renvoie un insert_iterator qui insère des éléments dans x à la position indiquée par celui-ci.

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 :: inserter.

#include <iostream>
#include <iterator> 
#include <list>
#include <algorithm>

int main () {
   std::list<int> foo,bar;
   for (int i = 1; i <= 5; i++) {
      foo.push_back(i); bar.push_back(i*5);
   }

   std::list<int>::iterator it = foo.begin();
   advance (it,3);

   std::copy (bar.begin(),bar.end(),std::inserter(foo,it));

   std::cout << "foo contains:";
   for ( std::list<int>::iterator it = foo.begin(); it!= foo.end(); ++it )
      std::cout << ' ' << *it;
   std::cout << '\n';

   return 0;
}

Compilons et exécutons le programme ci-dessus, cela produira le résultat suivant -

foo contains: 1 2 3 5 10 15 20 25 4 5