hash_set::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_set_insert.cpp
// compile with: /clr
#include <cliext/hash_set>
typedef cliext::hash_set<wchar_t> Myhash_set;
typedef Myhash_set::pair_iter_bool Pairib;
int main()
{
Myhash_set c1;
c1.insert(L'a');
c1.insert(L'b');
c1.insert(L'c');
// display initial contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// insert a single value, unique and duplicate
Pairib pair1 = c1.insert(L'x');
System::Console::WriteLine("insert(L'x') = [{0} {1}]",
*pair1.first, pair1.second);
pair1 = c1.insert(L'b');
System::Console::WriteLine("insert(L'b') = [{0} {1}]",
*pair1.first, pair1.second);
for each (wchar_t elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// insert a single value with hint
System::Console::WriteLine("insert(begin(), L'y') = {0}",
*c1.insert(c1.begin(), L'y'));
for each (wchar_t elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// insert an iterator range
Myhash_set c2;
Myhash_set::iterator it = c1.end();
c2.insert(c1.begin(), --it);
for each (wchar_t elem in c2)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// insert an enumeration
Myhash_set c3;
c3.insert( // NOTE: cast is not needed
(System::Collections::Generic::IEnumerable<wchar_t>^)%c1);
for each (wchar_t elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
Anforderungen
Header: <cliext/hash_set>
Namespace: cliext