Biblioteca C ++ Deque - función emplace ()
Descripción
La función C ++ std::deque::emplace()extiende deque insertando un nuevo elemento en su posición . Si ocurre la reasignación, el asignador interno cumple con los requisitos de almacenamiento para este contenedor .
Declaración
A continuación se muestra la declaración de la función std :: deque :: emplace () del encabezado std :: deque.
C ++ 11
template <class... Args>
iterator emplace (const_iterator position, Args&&... args);
Parámetros
position - Índice en la etiqueta donde se insertará el nuevo elemento.
args - Argumentos enviados para construir el nuevo elemento.
Valor devuelto
Devuelve un iterador de acceso aleatorio que apunta al elemento recién emplazado.
Excepciones
Si la reasignación falla, se lanza la excepción bad_alloc .
Complejidad del tiempo
Lineal, es decir, O (n)
Ejemplo
El siguiente ejemplo muestra el uso de la función std :: deque :: emplace ().
#include <iostream>
#include <deque>
using namespace std;
int main(void) {
deque<int> d = {1, 2, 5};
auto it = d.emplace(d.begin() + 2, 3);
d.emplace(it, 4);
cout << "Contents of deque are" << endl;
for (auto it = d.crend() - 1; it >= d.crbegin(); --it)
cout << *it << endl;
return 0;
}
Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:
Contents of deque are
1
2
4
3
5