C ++ Queue Library - funzione emplace ()

Descrizione

La funzione C ++ std::priority_queue::emplace()costruisce e inserisce un nuovo elemento in ordine ordinato in priority_queue. Il nuovo elemento viene costruito sul posto, ovvero senza eseguire operazioni di spostamento o copia.

Questa funzione membro chiama efficacemente la funzione emplace_back del contenitore sottostante.

Dichiarazione

Di seguito è riportata la dichiarazione per la funzione std :: priority_queue :: emplace () nel modulo std :: queue header.

C ++ 11

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

Parametri

args - Argomenti inoltrati per costruire il nuovo elemento.

Valore di ritorno

Nessuna.

Eccezioni

Questa funzione membro non genera mai eccezioni.

Complessità temporale

Logaritmico nella dimensione del contenitore.

Esempio

L'esempio seguente mostra l'utilizzo della funzione 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;
}

Compiliamo ed eseguiamo il programma sopra, questo produrrà il seguente risultato:

Queue contents are
5
4
3
2
1