std::unordered_multimap<Key,T,Hash,KeyEqual,Allocator>:: emplace_hint
|
template
<
class
...
Args
>
iterator emplace_hint ( const_iterator hint, Args && ... args ) ; |
(seit C++11)
(constexpr seit C++26) |
|
Fügt ein neues Element in den Container ein, wobei hint als Vorschlag dient, wo das Element platziert werden sollte.
Der Konstruktor von
value_type
(d.h.
std::
pair
<
const
Key, T
>
) wird mit exakt denselben Argumenten aufgerufen, die der Funktion übergeben wurden, weitergeleitet mit
std::
forward
<
Args
>
(
args
)
...
.
Falls nach dem Vorgang die neue Anzahl der Elemente größer ist als altes
max_load_factor()
*
bucket_count()
findet ein Rehashing statt.
Falls Rehashing auftritt (durch das Einfügen), werden alle Iteratoren ungültig. Andernfalls (kein Rehashing) bleiben Iteratoren gültig.
Inhaltsverzeichnis |
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 |
Rückgabewert
Ein Iterator auf das eingefügte Element.
Ausnahmen
Wenn aus irgendeinem Grund eine Exception ausgelöst wird, hat diese Funktion keine Wirkung ( strong exception safety guarantee ).
Komplexität
Amortisiert konstant im Durchschnitt, im schlimmsten Fall linear in der Größe des Containers.
Beispiel
|
Dieser Abschnitt ist unvollständig
Grund: Kein Beispiel |
Siehe auch
|
Konstruiert Elemente direkt
(öffentliche Elementfunktion) |
|
|
Fügt Elemente ein
oder Knoten
(seit C++17)
(öffentliche Elementfunktion) |