list::insert (STL/CLR)
Adiciona os elementos em uma posição especificada.
iterator insert(iterator where, value_type val);
void insert(iterator where, size_type count, value_type val);
template<typename InIt>
void insert(iterator where, InIt first, InIt last);
void insert(iterator where,
System::Collections::Generic::IEnumerable<Value>^ right);
Parâmetros
count
Número de elementos a ser inserido.primeiro
Início do intervalo a ser inserido.last
O fim do intervalo a ser inserido.direita
Enumeração o a ser inserido.val
Valor do elemento a ser inserido.onde
Onde no contêiner inserir antes.
Comentários
Cada uma das funções de membro, insere antes do elemento apontado por where na sequência controlada, uma sequência especificada pelos operandos restantes.
A primeira função de membro insere um elemento com valor val e retorna um iterador que designa o elemento inserido recentemente. Use-a para inserir um único elemento antes de um local designado por um iterador.
A segunda função de membro insere uma reprodução dos elementos de count de valor val. Use-a para inserir elementos zero ou mais contíguas que são todas as cópias do mesmo valor.
Se InIt é do tipo inteiro, a terceira função de membro se comportará da mesma maneira que insert(where, (size_type)first, (value_type)last). Se não, insere a sequência [first, last). Use-a para inserir elementos zero ou mais contíguos copiado de outra sequência.
A quarta função de membro insere a sequência designada por right. Use-a para inserir uma sequência descrita por um enumerador.
Ao inserir um único elemento, o número de cópias do elemento é linear no número de elementos entre o ponto de inserção e término mais próximo da sequência. (Ao inserir um ou mais elementos em um ou outro fim de sequência, nenhuma cópia do elemento ocorre.) Se InIt é um iterador de entrada, a terceira função de membro é efetivamente uma única inserção para cada elemento na sequência. Caso contrário, ao inserir elementos de N , o número de cópias do elemento é linear em N mais o número de elementos entre o ponto de inserção e término mais próximo da sequência.
Exemplo
// cliext_list_insert.cpp
// compile with: /clr
#include <cliext/list>
int main()
{
cliext::list<wchar_t> c1;
c1.push_back(L'a');
c1.push_back(L'b');
c1.push_back(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 using iterator
cliext::list<wchar_t>::iterator it = c1.begin();
System::Console::WriteLine("insert(begin()+1, L'x') = {0}",
*c1.insert(++it, L'x'));
for each (wchar_t elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// insert a repetition of values
cliext::list<wchar_t> c2;
c2.insert(c2.begin(), 2, L'y');
for each (wchar_t elem in c2)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// insert an iterator range
it = c1.end();
c2.insert(c2.end(), c1.begin(), --it);
for each (wchar_t elem in c2)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// insert an enumeration
c2.insert(c2.begin(), // NOTE: cast is not needed
(System::Collections::Generic::IEnumerable<wchar_t>^)%c1);
for each (wchar_t elem in c2)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// insert a single value using index
it = c2.begin();
++it, ++it, ++it;
c2.insert(it, L'z');
for each (wchar_t elem in c2)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
Requisitos
cliext </lista deCabeçalho: >
cliext deNamespace: