std::unordered_multimap<Key,T,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.
Der Konstruktor des Elementtyps (value_type, also std::pair<const Key, T>) wird mit genau denselben Argumenten aufgerufen, die der Funktion übergeben wurden, weitergeleitet mit std::forward<Args>(args)....
Wenn nach der Operation die neue Anzahl der Elemente größer ist als max_load_factor() * bucket_count(), findet ein Re-Hashing 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) |