Freigeben über


unordered_multimap::insert

Fügt Elemente hinzu.

iterator insert(const value_type& val);
iterator insert(iterator where, const value_type& val);
template<class InIt>
    void insert(InIt first, InIt last);
template<class ValTy>
    iterator insert(ValTy&& val);
template<class ValTy>
    iterator insert(const_iterator where, ValTy&& val);

Parameter

Parameter

Beschreibung

InIt

Der Typ der Iterator.

ValTy

Der direkte Konstruktorargumenttyp.

First

Starten des Bereichs eingefügt werden soll.

Last

Ende des Bereichs eingefügt werden soll.

Val

Das einzufügende Wert.

Where

Wenn Sie im Container eingefügt werden soll (nur Hinweis).

Hinweise

Die erste val-Memberfunktion fügt das Element in der kontrollierten Sequenz ein, gibt den Iterator zurück, der das eingefügte Element festlegt.Die zweite Memberfunktion gibt insert(val)unter Verwendung where als Startplatz in der kontrollierten Sequenz zurück, die für die Einfügemarke zu suchen.(Einfügung kann möglicherweise etwas schneller auftreten, wenn die Einfügemarke unmittelbar vorausgeht oder where).

Die dritte Memberfunktion fügt die Sequenz von Elementwerten, für jedes where im Bereich [first, last)ein, indem sie insert(*where)aufruft.

Die letzten zweiköpfigen Funktionen verhalten sich wie die ersten beiden Einschränkung, dass val wird verwendet, um den eingefügten Wert zu erstellen.

Wird eine Ausnahme während der Einfügung eines einzelnen Elements ausgelöst wird, wird der Container unverändert lassen und die Ausnahme wird erneut gelöst.Wird eine Ausnahme während der Einfügung mehrerer Elemente ausgelöst wird, wird der Container in einem stabilen Zustand belassen, aber nicht angegeben und die Ausnahme wird erneut gelöst.

Beispiel

// std_tr1__unordered_map__unordered_multimap_insert.cpp 
// compile with: /EHsc 
#include <unordered_map> 
#include <iostream> 
#include <string>
 
typedef std::unordered_multimap<char, int> Mymap; 
int main() 
    { 
    Mymap c1; 
 
    c1.insert(Mymap::value_type('a', 1)); 
    c1.insert(Mymap::value_type('b', 2)); 
    c1.insert(Mymap::value_type('c', 3)); 
 
// display contents " [c 3] [b 2] [a 1]" 
    for (Mymap::const_iterator it = c1.begin(); 
        it != c1.end(); ++it) 
        std::cout << " [" << it->first << ", " << it->second << "]"; 
    std::cout << std::endl; 
 
// insert with hint and reinspect 
    Mymap::iterator it2 = c1.insert(c1.begin(), Mymap::value_type('d', 4)); 
    for (Mymap::const_iterator it = c1.begin(); 
        it != c1.end(); ++it) 
        std::cout << " [" << it->first << ", " << it->second << "]"; 
    std::cout << std::endl; 
 
// insert range and inspect 
    Mymap c2; 
 
    c2.insert(c1.begin(), c1.end()); 
    for (Mymap::const_iterator it = c2.begin(); 
        it != c2.end(); ++it) 
        std::cout << " [" << it->first << ", " << it->second << "]"; 
    std::cout << std::endl; 
 
// insert new and duplicate, and reinspect 
    c1.insert(Mymap::value_type('e', 5)); 
    c1.insert(Mymap::value_type('a', 6)); 
    for (Mymap::const_iterator it = c1.begin(); 
        it != c1.end(); ++it) 
        std::cout << " [" << it->first << ", " << it->second << "]"; 
    std::cout << std::endl; 

// The templatized versions move constructing elements
    unordered_multimap<int, string> c3, c4;
    pair<int, string> is1(1, "a"), is2(2, "b");

    c3.insert(move(is1));
    cout << "After the move insertion, c3 contains:" << endl
      << " " << c3.begin()->first
      << " => " << c3.begin()->second
      << endl;

    c4.insert(c4.begin(), move(is2));
    cout << "After the move insertion, c4 contains:" << endl
      << " " << c4.begin()->first
      << " => " << c4.begin()->second
      << endl;
 
    return (0); 
    } 
 
  

Anforderungen

Header: <unordered_map>

Namespace: std

Siehe auch

Referenz

<unordered_map>

unordered_multimap Class

Weitere Ressourcen

<unordered_map> Member