Biblioteca C ++ Iterator - insert_iterator

Descrição

É um iterador de saída especial projetado para permitir que algoritmos que geralmente sobrescrevem elementos como cópia para inserir novos elementos em uma posição específica no contêiner.

Declaração

A seguir está a declaração para std :: insert_iterator.

C ++ 11

template <class Container> class insert_iterator;

Parâmetros

Container - É uma classe de contêiner.

Valor de retorno

Nenhum

Exceções

Se x de alguma forma lançar enquanto aplica o operador unário & a ele, esta função nunca lança exceções.

Complexidade de tempo

constante para iteradores de acesso aleatório.

Exemplo

O exemplo a seguir mostra o uso de 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;
}

Vamos compilar e executar o programa acima, isso produzirá o seguinte resultado -

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