Freigeben über


hash_map::emplace

HinweisHinweis

Diese API ist veraltet.Die Alternative ist unordered_map Class.

Fügt ein - Element ein, das direkt in ein hash_map erstellt wird.

template<class ValTy>
    pair <iterator, bool> emplace(
        ValTy&& _Val
);

Parameter

Parameter

Description

_Val

Der Wert verwendet, um Konstrukt zu verschieben ein in hash_map Class einzufügende Element, es sei denn, hash_map bereits dieses Element enthält (oder, im Allgemeinen, ein Element, dessen Schlüssel gleichwertig sortiert wird).

Rückgabewert

Die emplace-Memberfunktion gibt ein Paar zurück, dessen bool Komponentenrückgaben ausrichten, wenn eine Einfügung und false ausgeführt wurde, wenn hash_map bereits ein Element enthält, dessen Schlüssel einen ein in der Reihenfolge verfügt und dessen Iteratorkomponente die Adresse zurückgibt, in der ein neues Element eingefügt wurde, oder der das Element bereits gefunden wurde.

Um auf die Iteratorkomponente eines Paars pr zuzugreifen, das von dieser Memberfunktion zurückgegeben wird, verwenden Sie pr.first, und sie zu dereferenzieren, Verwendung *(pr.first).Um auf die bool Komponente eines Paars pr zuzugreifen, das von dieser Memberfunktion zurückgegeben wird, verwenden Sie pr.second, und sie zu dereferenzieren, Verwendung *(pr.second).

Hinweise

hash_map::value_type eines Elements ist Paaren, sodass der Wert eines Elements ein geordnetes Paar mit der ersten Komponente gleich dem Schlüsselwert und der zweiten Komponente gleich den Datenwert des Elements ist.

Ab Visual C++ .NET 2003, sind Member <hash_map> und <hash_set> Headerdateien nicht mehr im stdnamespace, sondern sind in den stdext Namespace verschoben wurde.Weitere Informationen finden Sie unter Der stdext-Namespace.

Beispiel

// 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;
}
  

Anforderungen

Header: <hash_map>

Namespace: stdext

Siehe auch

Referenz

hash_map Class

Standardvorlagenbibliothek