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

La description

La fonction C ++ std::map::emplace_hint() insère un nouvel élément dans une carte en utilisant un indice comme position pour l'élément.

Déclaration

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

C ++ 11

template <class... Args>
iterator emplace_hint (const_iterator position, Args&&... args);

Paramètres

  • position - Astuce pour la position d'insertion de l'élément.

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

Valeur de retour

Renvoie un itérateur vers l'élément nouvellement inséré. Si l'insertion échoue en raison d'un élément déjà existant, elle renvoie l'itérateur à l'élément existant.

Exceptions

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

Complexité temporelle

Linéaire ie O (n)

Exemple

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

#include <iostream>
#include <map>

using namespace std;

int main(void) {
   map<char, int> m = {
            {'b', 2},
            {'c', 3},
            {'d', 4},
            };

   m.emplace_hint(m.end(), 'e', 5);
   m.emplace_hint(m.begin(), 'a', 1);

   cout << "Map contains following elements" << 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
a = 1
b = 2
c = 3
d = 4
e = 5