unordered_set::emplace
Es wird ein Element eingefügt, das vor Ort konstruiert wird (keine Kopieren- oder Verschiebevorgänge werden ausgeführt).
template<class... Args>
pair<iterator, bool> emplace(
Args&&... args);
Parameter
Parameter |
Beschreibung |
args |
Die Argumente, die zum Erstellen eines in das unordered_set-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_set 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 set::emplace.
Anforderungen
Header: <unordered_set>
Namespace: std