Поделиться через


vector::insert (STL/CLR)

Добавляет элементы в заданной позиции.

    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);

Параметры

  • count
    Количество элементов, которые необходимо вставить.

  • first
    Начало диапазона, который необходимо вставить.

  • last
    Элемент диапазона, который необходимо вставить.

  • правый
    Перечисление, который необходимо вставить.

  • val
    Значение вставляемого элемента.

  • , где
    , Где в контейнере вставить выше.

Заметки

Каждый из этих функций-членов вставляет перед выполнением элемент указал на where в управляемой последовательности, последовательность указанная остальными операндами.

Первый функцию-член вставляет элемент со значением val и возвращает итератор, который соответствует новому вставленному элементу.Используется для вставки одного элемента перед positioning обозначенным итератором.

Второй функцию-член вставляет повторение элементов count значения val.Используется для вставки ноль или более последовательных элементов, все копии одного и того же значения.

Если InIt тип целого числа, третий функцию-член работает так же, как insert(where, (size_type)first, (value_type)last).В противном случае он вставляет последовательность [first,last).Используется для вставки ноль или более последовательных элементы, скопированные из другой последовательности.

Четвертый функцию-член вставляет последовательность указанный тип right.Используется для вставки последовательность, описанных перечислителем.

При вводе одиночный элемент количество копий элемента линейное в количестве элементов между точкой вставки и более точного концом последовательности.(При вводе один или несколько элементов в любой конец последовательности нет копии элемента не происходит). Если InIt итератор ввода, третий функцию-член, фактически выполняет одну insert для каждого элемента в последовательности.В противном случае при вводе элементы N, количество копий линейного элемента в N плюс количество элементов между точкой вставки и более точного концом последовательности.

Пример

// 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); 
    } 
 
  

Требования

заголовок: <вектор cliext/>

Cliext пространство имен:

См. также

Ссылки

vector (STL/CLR)

vector::assign (STL/CLR)