Libreria Iterator C ++ - insert_iterator

Descrizione

È uno speciale iteratore di output progettato per consentire agli algoritmi che di solito sovrascrivono gli elementi come copia di inserire invece nuovi elementi in una posizione specifica nel contenitore.

Dichiarazione

Di seguito è riportata la dichiarazione per std :: insert_iterator.

C ++ 11

template <class Container> class insert_iterator;

Parametri

Container - È una classe contenitore.

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

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

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

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

   std::insert_iterator< std::list<int> > insert_it (foo,it);

   std::copy (bar.begin(),bar.end(),insert_it);

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

   return 0;
}

Compiliamo ed eseguiamo il programma sopra, questo produrrà il seguente risultato:

foo: 10 9 8 100 90 80 70 60 50 7 6 5