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 пространство имен: