Udostępnij za pośrednictwem


hash_multimap::emplace_hint

[!UWAGA]

Ten interfejs API jest nieaktualny.Alternatywą jest unordered_multimap Class.

Wstawia element zbudowanych w miejsce do hash_multimap, z podpowiedzi położenia.

template<class ValTy>
    iterator emplace_hint(
        const_iterator _Where,
        ValTy&& _Val
);

Parametry

Parametr

Opis

_Val

Wartość używana do przenoszenia skonstruować element ma zostać wstawiony do hash_multimap Class chyba że hash_multimap już zawiera ten element (lub, bardziej ogólnie, element, którego klucz równoważnie porządkowania).

_Where

Wskazówki dotyczące miejsca, aby rozpocząć wyszukiwanie dla prawidłowego punktu wstawiania.

Wartość zwracana

hash_multimap::emplace Członkowskie, funkcja zwraca iteratora, który wskazuje miejsce, gdzie nowy element został wstawiony do hash_multimap.

Uwagi

hash_multimap::value_type Elementu jest para, tak, aby wartość elementu uporządkowana para z pierwszego składnika równego wartości klucza i drugi element równy wartości danych elementu.

Wstawiania może wystąpić w amortyzowane stały czas, a nie przy logarytmiczna, jeśli punkt wstawiania następuje bezpośrednio _Where.

Począwszy od programu Visual C++ .NET 2003, członkowie <hash_map> i <hash_set> pliki nagłówkowe są już w przestrzeni nazw std, ale raczej zostały przeniesione do obszaru nazw stdext.Zobacz stdext nazw uzyskać więcej informacji.

Przykład

// hash_multimap_emplace_hint.cpp
// compile with: /EHsc
#include<hash_multimap>
#include<iostream>
#include <string>

int main()
{
    using namespace std;
    using namespace stdext;
    hash_multimap<int, string> hm1;
    typedef pair<int, string> is1(1, "a");

    hm1.emplace(hm1.begin(), move(is1));
    cout << "After the emplace insertion, hm1 contains:" << endl
      << " " << hm1.begin()->first
      << " => " << hm1.begin()->second
      << endl;
}
  

Wymagania

Nagłówek: <hash_map>

Przestrzeń nazw: stdext

Zobacz też

Informacje

hash_multimap Class

Standardowa biblioteka szablonu