Biblioteca de iteradores de C ++ - insert_iterator
Descripción
Es un iterador de salida especial diseñado para permitir algoritmos que generalmente sobrescriben elementos como copia para insertar nuevos elementos en una posición específica en el contenedor.
Declaración
A continuación se muestra la declaración para std :: insert_iterator.
C ++ 11
template <class Container> class insert_iterator;
Parámetros
Container - Es una clase de contenedor.
Valor devuelto
ninguna
Excepciones
Si x arroja de alguna manera al aplicar el operador unario &, esta función nunca arroja excepciones.
Complejidad del tiempo
constante para iteradores de acceso aleatorio.
Ejemplo
El siguiente ejemplo muestra el 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;
}
Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:
foo: 10 9 8 100 90 80 70 60 50 7 6 5