Bibliothèque de files d'attente C ++ - fonction emplace ()

La description

La fonction C ++ std::priority_queue::emplace()construit et insère un nouvel élément dans l'ordre trié dans priority_queue. Le nouvel élément est construit sur place, c'est-à-dire sans effectuer d'opération de déplacement ou de copie.

Cette fonction membre appelle effectivement la fonction emplace_back du conteneur sous-jacent.

Déclaration

Voici la déclaration de la fonction std :: priority_queue :: emplace () sous forme d'en-tête std :: queue.

C ++ 11

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

Paramètres

args - Arguments transmis pour construire le nouvel élément.

Valeur de retour

Aucun.

Des exceptions

Cette fonction membre ne lève jamais d'exception.

Complexité temporelle

Logarithmique de la taille du conteneur.

Exemple

L'exemple suivant montre l'utilisation de la fonction 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;
}

Compilons et exécutons le programme ci-dessus, cela produira le résultat suivant -

Queue contents are
5
4
3
2
1