multimap::insert (STL/CLR)
Agrega elementos.
iterator 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);
Parámetros
first
Inicio del intervalo que se va a insertar.last
Final del intervalo que se va a insertar.right
Enumeración que se va a insertar.val
Valor de clave que se va a insertar.donde
Donde en el contenedor insertar (sugerencia sólo).
Comentarios
Cada una de las funciones miembro inserta una secuencia especificada por los operandos restantes.
La primera función miembro inserta un elemento con el valor val, y devuelve un iterador que señala el elemento insertado recientemente.Se utiliza para insertar un solo elemento.
La segunda función miembro inserta un elemento con el valor val, mediante where como sugerencia (mejorar rendimiento), y devuelve un iterador que señala el elemento insertado recientemente.Se utiliza para insertar un solo elemento que podría estar junto a un elemento que sabe.
La tercera función miembro inserta la secuencia [first,last).Se utiliza para insertar cero o más elementos copiado de otra secuencia.
La cuarta función miembro inserta la secuencia indicada por right.Se utiliza para insertar una secuencia descrita por un enumerador.
Cada inserción de elementos lleva tiempo proporcional al logaritmo del número de elementos de la secuencia controlada.Inserción puede aparecer en el tiempo constante amortizado, sin embargo, dada una sugerencia que señale un elemento adyacente al punto de inserción.
Ejemplo
// cliext_multimap_insert.cpp
// compile with: /clr
#include <cliext/map>
typedef cliext::multimap<wchar_t, int> Mymultimap;
int main()
{
Mymultimap c1;
c1.insert(Mymultimap::make_value(L'a', 1));
c1.insert(Mymultimap::make_value(L'b', 2));
c1.insert(Mymultimap::make_value(L'c', 3));
// display contents " [a 1] [b 2] [c 3]"
for each (Mymultimap::value_type elem in c1)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// insert a single value, unique and duplicate
Mymultimap::iterator it =
c1.insert(Mymultimap::make_value(L'x', 24));
System::Console::WriteLine("insert([L'x' 24]) = [{0} {1}]",
it->first, it->second);
it = c1.insert(Mymultimap::make_value(L'b', 2));
System::Console::WriteLine("insert([L'b' 2]) = [{0} {1}]",
it->first, it->second);
for each (Mymultimap::value_type elem in c1)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// insert a single value with hint
it = c1.insert(c1.begin(), Mymultimap::make_value(L'y', 25));
System::Console::WriteLine("insert(begin(), [L'y' 25]) = [{0} {1}]",
it->first, it->second);
for each (Mymultimap::value_type elem in c1)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// insert an iterator range
Mymultimap c2;
it = c1.end();
c2.insert(c1.begin(), --it);
for each (Mymultimap::value_type elem in c2)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
// insert an enumeration
Mymultimap c3;
c3.insert( // NOTE: cast is not needed
(System::Collections::Generic::
IEnumerable<Mymultimap::value_type>^)%c1);
for each (Mymultimap::value_type elem in c3)
System::Console::Write(" [{0} {1}]", elem->first, elem->second);
System::Console::WriteLine();
return (0);
}
Requisitos
encabezado: <cliext/asignado>
Cliext deespacio de nombres: