std::unordered_multiset<Key,Hash,KeyEqual,Allocator>::emplace_hint
| template< class... Args > iterator emplace_hint( const_iterator hint, Args&&... args ); |
(seit C++11) | |
Fügt ein neues Element in den Container ein und verwendet hint als Vorschlag, wo das Element platziert werden soll.
Die Konstruktoren des Schlüssels und des Wertes werden mit exakt denselben Argumenten aufgerufen, die an die Funktion übergeben wurden, weitergeleitet mit std::forward<Args>(args)....
Wenn nach der Operation die neue Anzahl von Elementen größer ist als max_load_factor() * bucket_count(), findet ein Rehashing statt.
Wenn Rehashing stattfindet (aufgrund der Einfügung), werden alle Iteratoren ungültig. Andernfalls (kein Rehashing) werden Iteratoren nicht ungültig.
Inhalt |
[bearbeiten] Parameter
| hint | - | iterator, der als Vorschlag dient, wo das neue Element eingefügt werden soll |
| args | - | Argumente, die an den Konstruktor des Elements weitergeleitet werden |
[bearbeiten] Rückgabewert
Ein Iterator zu dem eingefügten Element.
[bearbeiten] Ausnahmen
Wenn aus irgendeinem Grund eine Ausnahme ausgelöst wird, hat diese Funktion keine Auswirkungen (starkes Ausnahmesicherheitsgarantie).
[bearbeiten] Komplexität
Im Durchschnitt amortisiert konstant, im schlimmsten Fall linear zur Größe des Containers.
[bearbeiten] Beispiel
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |
[bearbeiten] Siehe auch
| konstruiert Elemente direkt (in-place) (public member function) | |
| fügt Elemente ein oder Knoten(seit C++17) (public member function) |