map::insert (STL/CLR)
Aggiunge gli elementi.
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);
Parametri
innanzitutto
A partire dall'intervallo da inserire.last
Estremità di intervallo da inserire.right
Enumerazione da inserire.val
Valore della chiave da inserire.where
La posizione del contenitore inserire (suggerimento solo).
Note
Ognuna delle funzioni membro inserire una sequenza specificata dagli operandi rimanenti.
La prima funzione membro tenta di inserire un elemento con valore vale restituisce una coppia di valori X.Se X.second è true, X.first definisce l'elemento appena inserito; in caso contrario X.first definisce un elemento con l'ordine equivalente che esiste già e nessun nuovo elemento viene inserito.Viene utilizzato per inserire un singolo elemento.
La seconda funzione membro inserire un elemento con valore val, utilizzando where come suggerimento (per migliorare le prestazioni) e restituisce un iteratore che definisce l'elemento appena inserito.La si utilizza per inserire un singolo elemento che può essere adiacenti a un elemento che si conosce.
La terza funzione membro inserire la sequenza [first,last).La si utilizza per inserire zero o più elementi copiati da un'altra sequenza.
La quarta funzione membro inserire la sequenza definita da right.La si utilizza per inserire una sequenza descritta da un enumeratore.
Ogni inserimento dell'elemento richiede tempo proporzionale al logaritmo del numero di elementi della sequenza selezionata.L'inserimento può verificarsi nel tempo costante ammortizzato, tuttavia, dato un suggerimento che definisce un elemento adiacente al punto di inserimento.
Esempio
// cliext_map_insert.cpp
// compile with: /clr
#include <cliext/map>
typedef cliext::map<wchar_t, int> Mymap;
typedef Mymap::pair_iter_bool Pairib;
int main()
{
Mymap c1;
c1.insert(Mymap::make_value(L'a', 1));
c1.insert(Mymap::make_value(L'b', 2));
c1.insert(Mymap::make_value(L'c', 3));
// display contents " [a 1] [b 2] [c 3]"
for each (Mymap::value_type elem in c1)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// insert a single value, unique and duplicate
// insert a single value, success and failure
Pairib pair1 = c1.insert(Mymap::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(Mymap::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 (Mymap::value_type elem in c1)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// insert a single value with hint
Mymap::iterator it =
c1.insert(c1.begin(), Mymap::make_value(L'y', 25));
System::Console::WriteLine("insert(begin(), [L'y' 25]) = [{0} {1}]",
it->first, it->second);
for each (Mymap::value_type elem in c1)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// insert an iterator range
Mymap c2;
it = c1.end();
c2.insert(c1.begin(), --it);
for each (Mymap::value_type elem in c2)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// insert an enumeration
Mymap c3;
c3.insert( // NOTE: cast is not needed
(System::Collections::Generic::
IEnumerable<Mymap::value_type>^)%c1);
for each (Mymap::value_type elem in c3)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
return (0);
}
Requisiti
intestazione: <cliext/mapping>
Cliext diSpazio dei nomi: