Bibliothèque de cartes C ++ - fonction emplace ()

La description

La fonction C ++ std::map::emplace() étend le conteneur en insérant un nouvel élément.

L'insertion n'a lieu que si la clé n'est pas déjà présente.

Déclaration

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

C ++ 11

template <class... Args>
pair<iterator,bool> emplace (Args&&... args);

Paramètres

args - arguments à transmettre au constructeur de l'élément.

Valeur de retour

Renvoie une paire composée de booléens pour indiquer si l'insertion a eu lieu ou non et renvoie un itérateur à l'élément nouvellement inséré.

Exceptions

Si une exception est levée par une opération, cette fonction n'a aucun effet.

Complexité temporelle

Logarithmique ie log (n)

Exemple

L'exemple suivant montre l'utilisation de la fonction std :: map :: emplace ().

#include <iostream>
#include <map>

using namespace std;

int main(void) {
   /* Initializer_list constructor */
   map<char, int> m;

   m.emplace('a', 1);
   m.emplace('b', 2);
   m.emplace('c', 3);
   m.emplace('d', 4);
   m.emplace('e', 5);

   cout << "Map contains following elements in reverse order" << endl;

   for (auto it = m.begin(); it != m.end(); ++it)
      cout << it->first << " = " << it->second << endl;

   return 0;
}

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

Map contains following elements in reverse order
a = 1
b = 2
c = 3
d = 4
e = 5