Udostępnij za pośrednictwem


hash_multimap::emplace_hint

[!UWAGA]

Ten interfejs API jest nieaktualny.Alternatywą jest unordered_multimap — Klasa.

Wstawia element zbudowanych w miejscu w hash_multimap, ze wskazówką położenie.

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

Parametry

Parametr

Opis

_Val

Wartość używana do przenoszenia elementu ma być wstawiony do konstruowania hash_multimap — Klasa chyba że hash_multimap już zawiera ten element (lub, bardziej ogólnie, element równoważnie porządkowania, której klucz).

_Where

Wskazówka dotycząca miejsca rozpoczęcia wyszukiwania dla poprawnego punktu wstawiania.

Wartość zwracana

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

Uwagi

hash_multimap::value_type Elementu jest para, dzięki czemu wartość elementu będzie uporządkowana para z pierwszego składnika równego wartości kluczy i drugi element równy wartości danych elementu.

Wstawiania może wystąpić w stałym czasie amortyzowane zamiast czasu 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łówków nie są już w przestrzeni nazw std, ale raczej zostały przeniesione do obszaru nazw stdext.Zobacz Przestrzeń nazw stdext, aby 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 — Klasa

Standardowa biblioteka szablonów