hash_map::emplace
Hinweis |
---|
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