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