Freigeben über


unordered_multimap::insert

Fügt ein Element oder einen Bereich von Elementen in ein unordered_multimap-Element ein.

// (1) single element pair<iterator, bool> insert(     const value_type& Val );   // (2) single element, perfect forwarded template<class ValTy> pair<iterator, bool> insert(     ValTy&& Val );  // (3) single element with hint iterator insert(     const_iterator Where,     const value_type& Val );   // (4) single element, perfect forwarded, with hint template<class ValTy> iterator insert(     const_iterator Where,     ValTy&& Val );  // (5) range  template<class InputIterator>  void insert(     InputIterator First,     InputIterator Last );   // (6) initializer list void insert(     initializer_list<value_type> IList ); 

Parameter

Parameter

Beschreibung

Val

Der Wert eines in das unordered_multimap-Element einzufügenden Elements.

Where

Die Position, an dem mit der Suche nach dem richtigen Einfügepunkt begonnen wird.

ValTy

Der Vorlagenparameter, mit dem der Argumenttyp angegeben wird, der vom unordered_multimap-Element verwendet werden kann, um ein Element von value_type zu erstellen und Val perfekt als Argument weiterzuleiten.

First

Die Position des ersten zu kopierenden Elements.

Last

Die Position direkt über den letzten zu kopierenden Elements.

InputIterator

Das Vorlagenfunktionsargument, das den Anforderungen eines Eingabeiterators erfüllt, der auf Elemente eines Typs zeigt, der zum Erstellen von value_type-Objekten verwendet werden kann.

IList

Das initializer_list-Element, aus dem die Elemente kopiert werden sollen.

Rückgabewert

Die Einzelelement-Memberfunktionen (1) und (2) geben einen Iterator an die Position zurück, an der das neue Element in das unordered_multimap-Element eingefügt wurde.

Die Einzelelement-Memberfunktionen mit Hinweis (3) und (4) geben einen Iterator zurück, der auf die Position zeigt, an der das neue Element in das unordered_multimap-Element eingefügt wurde.

Hinweise

Von dieser Funktion werden keine Zeiger oder Verweise für ungültig erklärt, aber möglicherweise werden alle Iteratoren für den Containers für ungültig erklärt.

Wird beim Einfügen von nur einem Element eine Ausnahme ausgelöst, die jedoch nicht in der Hashfunktion des Containers auftritt, wird der Zustand des Containers nicht geändert. Wenn die Ausnahme in der Hashfunktion ausgelöst wird, ist das Ergebnis nicht definiert. Wird beim Einfügen mehrerer Elementen eine Ausnahme ausgelöst, wird der Container in einem nicht angegebenen doch gültigen Zustand belassen.

Das value_type-Element eines Containers ist eine Typedef, die dem Container angehört, und, für eine Zuordnung ist map<K, V>::value_type pair<const K, V>. Der Wert eines Elements ist ein sortiertes Paar, in dem die erste Komponente gleich dem Schlüsselwert und die zweite Komponente gleich dem Datenwert des Elements ist.

Die Bereichsmemberfunktion (5) fügt die Sequenz von Elementwerten in ein unordered_multimap-Element ein, das jedem Element entspricht, das von einem Iterator im Bereich [First, Last) adressiert wird. Daher wird Last nicht eingefügt. Die Containermemberfunktion end() bezieht sich auf die Position direkt hinter dem letzten Element im Container. Z. B fügt die Anweisung m.insert(v.begin(), v.end()); alle Elemente von v in m ein.

Die Memberfunktion für die Initialisiererliste (6) verwendet eine initializer_list, um Elemente in die unordered_multimap zu kopieren.

Für das Einfügen eines vor Ort erstellten Elements. Das heißt, es wurden keine Kopie- oder Verschiebevorgänge ausgeführt. Informationen unter unordered_multimap::emplace und unordered_multimap::emplace_hint.

Ein Codebeispiel finden Sie unter multiset::insert.

Anforderungen

Header: <unordered_map>

Namespace: std

Siehe auch

Referenz

<unordered_map>

unordered_multimap-Klasse

Standardvorlagenbibliothek