hash_map::emplace_hint
[!POZNÁMKA]
Toto rozhraní API je zastaralé.Alternativou je unordered_map Class.
Vloží prvek vyrobeno na místě do hash_map, s umístění nápovědy.
template<class ValTy>
iterator emplace_hint(
const_iterator _Where,
ValTy&& _Val
);
Parametry
Parametr |
Description |
_Val |
Prvek má být vložena do konstrukce hodnota slouží k přesunutí hash_map Class Pokud hash_map již obsahuje prvku (nebo obecněji, element, jehož klíč je objednáno ekvivalentně). |
_Where |
Nápovědu týkající se místo, kde začít hledat správný bod vložení. |
Vrácená hodnota
hash_multimap::emplace Členské funkce vrátí iterátor, který odkazuje na umístění, kde byl vložen nový prvek hash_map, nebo kde je umístěn existující prvek s ekvivalentní řazení.
Poznámky
hash_map::value_type Prvku je pár, takže hodnota prvku bude objednané pár rovna hodnotě datového prvku druhého součásti a první komponenta, která je rovna hodnotě klíče.
Vložení může dojít v amortized konstantní čas místo logaritmické času, pokud bod vložení následuje hned _Where.
Počínaje Visual C++ .NET 2003, členové <hash_map> a <hash_set> jsou již v oboru názvů std soubory hlaviček, ale spíše být přesunut do oboru názvů stdext.Viz stdext obor názvů Další informace.
Příklad
// hash_map_emplace_hint.cpp
// compile with: /EHsc
#include<hash_map>
#include<iostream>
#include <string>
int main()
{
using namespace std;
using namespace stdext;
hash_map<int, string> hm1;
typedef pair<int, string> is1(1, "a");
hm1.emplace(hm1.begin(), move(is1));
cout << "After the emplace, hm1 contains:" << endl
<< " " << hm1.begin()->first
<< " => " << hm1.begin()->second
<< endl;
}
Požadavky
Záhlaví: <hash_map>
Obor názvů: stdext