list::insert (STL/CLR)
Dodaje elementy w określonym położeniu.
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);
Parametry
count
Liczba elementów do wstawienia.pierwszy
Początek zakresu do wstawienia.ostatni
Koniec zakresu do wstawienia.prawo
Wyliczenie do wstawienia.Val
Wartość elementu do wstawienia.gdzie
Gdzie w pojemniku, który będzie wstawiany przed.
Uwagi
Funkcje każdego członka do wstawiania przed elementu wskazywanego przez where w kontrolowanej sekwencji sekwencji określonej przez pozostałe operandy.
Pierwsza funkcja Członkowskie wstawia element o wartości val i zwraca iterację opisująca nowo wstawiony element.Umożliwia to wstawianie pojedynczego elementu przed miejsce wyznaczone przez iterację.
Druga funkcja członkowska wstawia powtórzenia elementów count o wartości val.Umożliwia to wstawianie zero lub więcej sąsiadujących elementów, które są wszystkie kopie tej samej wartości.
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).Umożliwia ona Wstaw skopiowane z innej sekwencji zero lub więcej sąsiadujących elementów.
Czwarty funkcji członka wstawia sekwencji wyznaczone przez right.Umożliwia ona Wstaw sekwencję opisaną przez moduł wyliczający.
Przy wstawianiu pojedynczy element, liczbę kopii elementu jest liniowa w liczbie elementów między punktem wstawiania a bliżej końca sekwencji. (Podczas wstawiania jednego lub więcej elementów na końcu sekwencji, brak kopii elementu wykonywane.) Jeśli InIt jest iteratora wprowadzania funkcji trzeciego członka skutecznie wykonuje wstawiania jednego dla każdego elementu w sekwencji.W przeciwnym razie przy wstawianiu N elementów, liczbę kopii elementu jest liniowa w N plus liczba elementów między punktem wstawiania a bliżej końca sekwencji.
Przykład
// 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);
}
Wymagania
Nagłówek:<cliext/list>
Przestrzeń nazw: cliext