Sdílet prostřednictvím


hash_map::emplace_hint

[!POZNÁMKA]

Toto rozhraní API je zastaralé.Alternativou je unordered_map – třída.

Vloží prvek vyrobeno do hash_map, naznačuje, umístění na místě.

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

Parametry

Parametr

Popis

_Val

Prvek, který chcete vložit do sestavení hodnota slouží k přesunutí hash_map – třída Pokud hash_map již obsahuje tento prvek (nebo obecněji, element, jehož klíč ekvivalentně objednané).

_Where

Doporučení týkající se místa zahájíte hledání správný bod vložení.

Vrácená hodnota

hash_multimap::emplace Členské funkce vrátí iterace odkazující na umístění, kde byl vložen nový prvek do 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, aby hodnoty elementu dvojici objednané s první částky rovnající se hodnota klíče a druhé částky rovnající se hodnoty prvku.

Vložení může dojít včas amortizovaný konstantní, místo času logaritmická, pokud bod vložení následuje hned _Where.

Počínaje Visual C++ .NET 2003, členové <hash_map> a <hash_set> hlavičkové soubory jsou již v oboru názvů std, ale spíše, byly přesunuty do oboru názvů stdext.Další informace naleznete v tématu Obor názvů stdext.

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

Hlavička: <hash_map>

Obor názvů: stdext

Viz také

Referenční dokumentace

hash_map – třída

Standardní knihovna šablon