Partager via


multimap::emplace

Insère un élément construit en place (aucune opération de copie ou de mouvements n'est exécutée).

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

Paramètres

Paramètre

Description

args

Les arguments transférés pour construire un élément à insérer dans le mappage multiple.

Valeur de retour

Un itérateur pour l'élément récemment inséré.

Notes

Aucune référence aux éléments conteneurs n'est invalidée par cette fonction, mais elle peut invalider tous les itérateurs du conteneur.

Si une exception est levée pendant l'insertion, le conteneur reste inchangé et l'exception est à nouveau levée.

La value_type d'un élément consiste des paires, afin que la valeur d'un élément soit une paire classée avec comme premier composant la valeur de clé et le second composant égal à la valeur de l'élément.

Exemple

// multimap_emplace.cpp
// compile with: /EHsc
#include <map>
#include <string>
#include <iostream>

using namespace std;

template <typename M> void print(const M& m) {
    cout << m.size() << " elements: " << endl;

    for (const auto& p : m) {
        cout << "(" << p.first <<  "," << p.second << ") ";
    }

    cout << endl;
}

int main()
{
    multimap<string, string> m1;

    m1.emplace("Anna", "Accounting");
    m1.emplace("Bob", "Accounting");
    m1.emplace("Carmine", "Engineering");

    cout << "multimap modified, now contains ";
    print(m1);
    cout << endl;

    m1.emplace("Bob", "Engineering");

    cout << "multimap modified, now contains ";
    print(m1);
    cout << endl;
}

Sortie

multimap modified, now contains 3 elements:
(Anna,Accounting) (Bob,Accounting) (Carmine,Engineering)

multimap modified, now contains 4 elements:
(Anna,Accounting) (Bob,Accounting) (Bob,Engineering) (Carmine,Engineering)

Configuration requise

En-tête : <mappage>

Espace de noms : std

Voir aussi

Référence

<map>

multimap, classe

Bibliothèque STL (Standard Template Library)