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