Freigeben über


unordered_map::emplace

Fügt ein Element, das vor Ort erstellt wird (es werden keine Kopier- oder Verschiebevorgänge ausgeführt), in ein unordered_map-Element.

template<class... Args>
   pair<iterator, bool> emplace(
      Args&&... args);

Parameter

Parameter

Beschreibung

args

Die Argumente, die zum Erstellen eines in das unordered_map-Element einzufügenden Elements weitergeleitet werden, es sei denn, es ist bereits ein Element enthalten, dessen Wert gleichwertig sortiert wird.

Rückgabewert

Ein pair-Element, dessen bool-Komponente "true" zurückgibt, wenn eine Einfügung erfolgt ist und "false", wenn unordered_map bereits ein Element enthält, dessen Schlüssel einen entsprechenden Wert in der Reihenfolge aufweist und dessen Iteratorkomponente die Adresse zurückgibt, an der ein neues Element eingefügt wurde oder, an der 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.

Hinweise

Durch diese Funktion werden keine Iteratoren oder Verweise ungültig.

Wird bei der Einfügung eine Ausnahme ausgelöst, die aber in der Hashfunktion des Containers nicht auftritt, wird der Container nicht geändert. Wenn die Ausnahme in der Hashfunktion ausgelöst wird, ist das Ergebnis nicht definiert.

Ein Codebeispiel finden Sie unter map::emplace.

Anforderungen

Header: <unordered_map>

Namespace: std

Siehe auch

Referenz

<unordered_map>

unordered_map-Klasse

Standardvorlagenbibliothek