Freigeben über


hash_map::emplace

Hinweis

Diese API ist veraltet.Die Alternative ist unordered_map-Klasse.

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

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

Parameter

Parameter

Beschreibung

_Val

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

Rückgabewert

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

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

Hinweise

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

Ab Visual C++ .NET 2003, sind Member <hash_map> und <hash_set> Headerdateien nicht mehr im std-Namespace, 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-Klasse

Standardvorlagenbibliothek