Partager via


multiset::emplace

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

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 la collection.

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.

Pendant la mise en place, si une exception est levée, l'état du conteneur n'est pas modifié.

Exemple

// multiset_emplace.cpp
// compile with: /EHsc
#include <set>
#include <string>
#include <iostream>

using namespace std;

template <typename S> void print(const S& s) {
    cout << s.size() << " elements: ";

    for (const auto& p : s) {
        cout << "(" << p << ") ";
    }

    cout << endl;
}

int main()
{
    multiset<string> s1;

    s1.emplace("Anna");
    s1.emplace("Bob");
    s1.emplace("Carmine");

    cout << "multiset modified, now contains ";
    print(s1);
    cout << endl;

    s1.emplace("Bob");

    cout << "multiset modified, now contains ";
    print(s1);
    cout << endl;
}

Sortie

multiset modified, now contains 3 elements: (Anna) (Bob) (Carmine)

multiset modified, now contains 4 elements: (Anna) (Bob) (Bob) (Carmine)

Configuration requise

En-tête: <jeu>

Espace de noms : std

Voir aussi

Référence

<set>

set, classe

Bibliothèque STL (Standard Template Library)