Biblioteca de cola C ++ - función emplace ()

Descripción

La función C ++ std::priority_queue::emplace()construye e inserta un nuevo elemento en orden ordenado en priority_queue. El nuevo elemento se construye in situ, es decir, sin realizar la operación de mover o copiar.

Esta función miembro llama efectivamente a la función emplace_back del contenedor subyacente.

Declaración

A continuación se muestra la declaración de la función std :: priority_queue :: emplace () del encabezado std :: queue.

C ++ 11

template <class... Args> void emplace (Args&&... args);

Parámetros

args - Argumentos enviados para construir el nuevo elemento.

Valor devuelto

Ninguna.

Excepciones

Esta función miembro nunca lanza una excepción.

Complejidad del tiempo

Logarítmico en el tamaño del contenedor.

Ejemplo

El siguiente ejemplo muestra el uso de la función std :: priority_queue :: emplace ().

#include <iostream>
#include <queue>

using namespace std;

int main(void) {
   priority_queue<int> q;

   q.emplace(3);
   q.emplace(1);
   q.emplace(5);
   q.emplace(2);
   q.emplace(4);

   cout << "Queue contents are" << endl;
   while (!q.empty()) {
      cout << q.top() << endl;
   q.pop();
   }

   return 0;
}

Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:

Queue contents are
5
4
3
2
1