Udostępnij za pośrednictwem


multiset::emplace

Wstawia element skonstruowany w miejscu (bez wykonania żadnej czynności kopiowania ani przenoszenia) ze wskazówką położenia.

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

Parametry

Parametr

Opis

args

Argumenty przekazywane do konstruowania elementu do wstawienia do zbioru multiset.

Wartość zwracana

Iterator do nowo wstawionego elementu.

Uwagi

Żadne odwołania do elementów kontenera nie są unieważniane przez tę funkcję, ale może ona unieważnić wszystkie iteratory do kontenera.

Podczas umieszczenia, jeśli zgłoszono wyjątek, stan kontenera nie jest modyfikowany.

Przykład

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

Dane wyjściowe

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

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

Wymagania

Nagłówek: <set>

Przestrzeń nazw: std

Zobacz też

Informacje

<set>

set — Klasa

Standardowa biblioteka szablonów