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