Condividi tramite


multiset::emplace

Inserisce un elemento costruito in locale (senza che vengano eseguite operazioni di copia o di spostamento), con un suggerimento di posizione.

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

Parametri

Parametro

Descrizione

args

Gli argomenti passati per costruire un elemento da inserire nel multiset.

Valore restituito

Un iteratore all'elemento appena inserito.

Note

Nessun riferimento agli elementi contenitore viene invalidato da questa funzione, ma può invalidare tutti gli iteratori al contenitore.

Durante il collocamento, se viene generata un'eccezione, lo stato del contenitore non viene modificato.

Esempio

// 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;
}

Output

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

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

Requisiti

Intestazione: <set>

Spazio dei nomi: std

Vedere anche

Riferimenti

<set>

Classe set

Libreria di modelli standard