Compartilhar via


Vector::Insert (STL/CLR)

Adiciona 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

  • Contagem
    Número de elementos para inserir.

  • primeira
    Início do intervalo para inserir.

  • última
    Final do intervalo para inserir.

  • direito
    Enumeração para inserir.

  • Val
    Valor do elemento para inserir.

  • onde
    Onde no contêiner para inserir antes.

Comentários

Cada membro funções insere antes do elemento apontado por where na seqüência controlada, uma seqüência especificada por operandos restantes.

A primeira função de membro insere um elemento com valor val e retorna um iterador que designa o elemento recém-inserido.Você pode usá-lo para inserir um único elemento antes de um local designado por um iterador.

A segunda função de membro insere uma repetição de count elementos do valor val.Você pode usá-lo para inserir zero ou mais elementos contíguos que são todas as cópias do mesmo valor.

If InIt is an integer type, the third member function behaves the same as insert(where, (size_type)first, (value_type)last).Otherwise, it inserts the sequence [first, last).Você pode usá-lo para inserir zero ou mais elementos contíguos copiados de outra seqüência.

A quarta função de membro insere a seqüência designada pelo right.Você pode usá-lo para inserir uma seqüê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 o final mais próximo da seqüência.(Ao inserir um ou mais elementos no final de seqüência, nenhum elemento cópias ocorrerem.) Se InIt é um iterador de entrada, a função de membro terceira efetivamente executa uma inserção única para cada elemento na seqüência.Caso contrário, quando inserir N elementos, o número de cópias do elemento é linear em N mais o número de elementos entre o ponto de inserção e o final mais próximo da seqüência.

Exemplo

// cliext_vector_insert.cpp 
// compile with: /clr 
#include <cliext/vector> 
 
int main() 
    { 
    cliext::vector<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::vector<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::vector<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(); 
    return (0); 
    } 
 
  

Requisitos

Cabeçalho: < cliext/vetor >

Namespace: cliext

Consulte também

Referência

vetor (STL/CLR)

Vector::Assign (STL/CLR)