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