Sdílet prostřednictvím


hash_map::emplace

[!POZNÁMKA]

Toto rozhraní API je zastaralé.Alternativou je unordered_map Class.

Vloží prvek vyrobeno do hash_map místě.

template<class ValTy>
    pair <iterator, bool> emplace(
        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ě).

Vrácená hodnota

emplace Pár vrátí členská funkce vrátí true, pokud vložení součásti bool, jehož a false Pokud hash_map již obsahuje prvek, jehož klíč měl stejné hodnoty v pořadí a jejichž součásti iterace vrátí adresu, kde byl vložen nový prvek nebo kde již byl prvek umístěn.

Přístup k součásti iterace páru pr vrácené tuto členskou funkci, pomocí pr.firsta přistoupit přes ukazatel, pomocí *(pr.first).Přístup bool součást páru pr vrácené tuto členskou funkci, pomocí pr.seconda přistoupit přes ukazatel, pomocí *(pr.second).

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.

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

Požadavky

Záhlaví: <hash_map>

Obor názvů: stdext

Viz také

Referenční dokumentace

hash_map Class

Standardní šablona knihovny