Freigeben über


hash_map::insert (STL/CLR)

Fügt Elemente hinzu.

    cliext::pair<iterator, bool> insert(value_type val);
    iterator insert(iterator where, value_type val);
    template<typename InIter>
        void insert(InIter first, InIter last);
    void insert(System::Collections::Generic::IEnumerable<value_type>^ right);

Parameter

  • first
    Starten des Bereichs eingefügt werden soll.

  • last
    Ende des Bereichs eingefügt werden soll.

  • right
    Das einzufügende Enumeration.

  • val
    Das einzufügende Schlüsselwert.

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

Hinweise

Jede der Memberfunktionen fügt eine Sequenz ein, die durch die verbleibenden Operanden angegeben wird.

Die erste Memberfunktion bemüht sich, ein Element mit dem Wert val einzufügen und gibt ein Paar von Werten X zurück.Wenn X.second auf true festgelegt ist, legt X.first das neu eingefügte Element fest. Andernfalls legt X.first ein Element mit entsprechender Sortierung fest, die bereits vorhanden ist und kein neues Element eingefügt wird.Sie verwenden sie, um ein einzelnes Element eingefügt werden soll.

Die zweite Memberfunktion fügt ein Element mit dem Wert val unter Verwendung where als Hinweis (die Leistung verbessern) und gibt einen Iterator zurück, der das neu eingefügte Element festlegt.Sie verwenden sie, um ein einzelnes Element einfügt, das neben einem Element, das Sie kennen.

Die dritte Memberfunktion fügt der Sequenz [first,last) ein.Sie verwenden sie, um keine oder mehrere Elemente aus einer anderen Reihenfolge kopiert, eingefügt werden soll.

Die vierte Memberfunktion fügt die Sequenz ein, die von right festgelegt ist.Sie verwenden sie, um eine Sequenz eingefügt werden, die von einem Enumerator beschrieben wird.

Jede Element weist das Einfügen von Zeitspanne, die auf den Logarithmus der Anzahl der Elemente in der kontrollierten Sequenz proportional ist.Einfügung kann in der amortisierten konstanter Zeit erfolgen dagegen einen Hinweis angegeben, der ein Element neben der Einfügemarke festlegt.

Beispiel

// cliext_hash_map_insert.cpp 
// compile with: /clr 
#include <cliext/hash_map> 
 
typedef cliext::hash_map<wchar_t, int> Myhash_map; 
typedef Myhash_map::pair_iter_bool Pairib; 
int main() 
    { 
    Myhash_map c1; 
    c1.insert(Myhash_map::make_value(L'a', 1)); 
    c1.insert(Myhash_map::make_value(L'b', 2)); 
    c1.insert(Myhash_map::make_value(L'c', 3)); 
 
// display contents " [a 1] [b 2] [c 3]" 
    for each (Myhash_map::value_type elem in c1) 
        System::Console::Write(" [{0} {1}]", elem->first, elem->second); 
    System::Console::WriteLine(); 
 
// insert a single value, unique and duplicate 
    Pairib pair1 = 
        c1.insert(Myhash_map::make_value(L'x', 24)); 
    System::Console::WriteLine("insert([L'x' 24]) = [{0} {1}] {2}", 
        pair1.first->first, pair1.first->second, pair1.second); 
 
    pair1 = c1.insert(Myhash_map::make_value(L'b', 2)); 
    System::Console::WriteLine("insert([L'b' 2]) = [{0} {1}] {2}", 
        pair1.first->first, pair1.first->second, pair1.second); 
 
    for each (Myhash_map::value_type elem in c1) 
        System::Console::Write(" [{0} {1}]", elem->first, elem->second); 
    System::Console::WriteLine(); 
 
// insert a single value with hint 
    Myhash_map::iterator it = 
        c1.insert(c1.begin(), Myhash_map::make_value(L'y', 25)); 
    System::Console::WriteLine("insert(begin(), [L'y' 25]) = [{0} {1}]", 
        it->first, it->second); 
    for each (Myhash_map::value_type elem in c1) 
        System::Console::Write(" [{0} {1}]", elem->first, elem->second); 
    System::Console::WriteLine(); 
 
// insert an iterator range 
    Myhash_map c2; 
    it = c1.end(); 
    c2.insert(c1.begin(), --it); 
    for each (Myhash_map::value_type elem in c2) 
        System::Console::Write(" [{0} {1}]", elem->first, elem->second); 
    System::Console::WriteLine(); 
 
// insert an enumeration 
    Myhash_map c3; 
    c3.insert(   // NOTE: cast is not needed 
        (System::Collections::Generic:: 
            IEnumerable<Myhash_map::value_type>^)%c1); 
    for each (Myhash_map::value_type elem in c3) 
        System::Console::Write(" [{0} {1}]", elem->first, elem->second); 
    System::Console::WriteLine(); 
    return (0); 
    } 
 
  

Anforderungen

Header: <cliext/hash_map>

Namespace: cliext

Siehe auch

Referenz

hash_map (STL/CLR)