Biblioteca C ++ Iterator - dispositivo de inserção

Descrição

Ele constrói um iterador de inserção que insere novos elementos em x em locais sucessivos, começando na posição apontada por ele.

Declaração

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

C ++ 11

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

Parâmetros

x - É um container no qual o iterador irá inserir novos elementos.

Valor de retorno

Ele retorna um insert_iterator que insere elementos em x na posição indicada por ele.

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 :: 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;
}

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

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