hash_multimap::emplace_hint
Hinweis |
---|
Diese API ist veraltet.Die Alternative ist unordered_multimap Class. |
Fügt ein - Element ein, das direkt in ein hash_multimap, mit einem Platzierungs-Hinweis erstellt wird.
template<class ValTy>
iterator emplace_hint(
const_iterator _Where,
ValTy&& _Val
);
Parameter
Parameter |
Description |
_Val |
Der Wert verwendet, um Konstrukt zu verschieben ein in hash_multimap Class einzufügende Element, es sei denn, hash_multimap bereits dieses Element enthält (oder, im Allgemeinen, ein Element, dessen Schlüssel gleichwertig sortiert wird). |
_Where |
Ein Hinweis hinsichtlich des Position, an der das Suchen für den richtigen Punkt der Einfügung zu starten. |
Rückgabewert
Die hash_multimap::emplace-Memberfunktion gibt einen Iterator zurück, der der Position zeigt, in der das neue Element in hash_multimap eingefügt wurde.
Hinweise
hash_multimap::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.
Einfügen kann in amortisierter konstanter Zeit, anstelle von logarithmischen Zeit auftreten, wenn die Einfügemarke sofort _Where folgt.
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_multimap_emplace_hint.cpp
// compile with: /EHsc
#include<hash_multimap>
#include<iostream>
#include <string>
int main()
{
using namespace std;
using namespace stdext;
hash_multimap<int, string> hm1;
typedef pair<int, string> is1(1, "a");
hm1.emplace(hm1.begin(), move(is1));
cout << "After the emplace insertion, hm1 contains:" << endl
<< " " << hm1.begin()->first
<< " => " << hm1.begin()->second
<< endl;
}
Anforderungen
Header: <hash_map>
Namespace: stdext