deque::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
挿入する要素の数。まず
挿入する範囲の先頭。last
挿入する範囲の最後。[right]
挿入する列挙。val
挿入する要素の値。where
コンテナーに挿入位置。
解説
メンバー関数は、被制御シーケンスに where によって指される要素の前に、残りのオペランドで指定されたシーケンス挿入します。
一つ目のメンバー関数は値 val の要素を挿入し、新しく挿入される要素を指定する反復子を返します。反復子で指定された位置の前に一つの要素を挿入する場合に使用します。
2 番目のメンバー関数は値 valの count の要素の繰り返しを挿入します。同じ値のすべてのコピーであるを使用します。または、より多くの連続する要素を挿入するためにも。
InIt が整数型である場合、 3 番目のメンバー関数は insert(where, (size_type)first, (value_type)last)と同様に動作します。それ以外の場合は、シーケンス [first,last)を挿入します。別のシーケンスからコピーから使用します。または、より多くの連続する要素を挿入するためにも。
4 番目のメンバー関数は rightで指定されたシーケンスを挿入します。列挙子で説明するシーケンスを挿入する場合に使用します。
一つの要素を挿入すると、要素のコピーの数は、シーケンスのカーソル位置と近端での要素の数で直線的です。一つ以上の要素をシーケンスの先頭または末尾に挿入すると、 (要素のコピーは実行されません)。InIt が入力反復子である場合、 3 番目のメンバー関数は、シーケンスで効果的に各要素に対して一つの挿入を実行します。それ以外 N の要素を挿入すると、要素のコピーの数は、シーケンスのカーソル位置と近端での要素の数と N で直線的です。
使用例
// cliext_deque_insert.cpp
// compile with: /clr
#include <cliext/deque>
int main()
{
cliext::deque<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::deque<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::deque<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/deque>
名前空間: の cliext