list::insert (STL Samples)
Visual C++ で リスト:: 挿入します。 の標準テンプレート ライブラリ関数を使用する方法に (STL)ついて説明します。
iterator insert(
iterator It,
const T& x = T( )
);
void insert(
iterator It,
size_type n,
const T& x
);
void insert(
iterator It,
const_iterator First,
const_iterator Last
);
void insert(
iterator It,
const T *First,
const T *Last
);
解説
[!メモ]
プロトタイプのクラスまたはパラメーター名は、ヘッダー ファイルのバージョンと一致しない。一部のは、読みやすさが向上するように変更されました。
各メンバー関数は、被制御シーケンスに、が指す要素の前に、残りのオペランドで指定されたシーケンス挿入します。一つ目のメンバー関数は値 x の一つの要素を挿入し、新しく挿入される要素を指す反復子を返します。2 番目のメンバー関数は値 *x.*の n 個の 要素の繰り返しを挿入します。最後の 2 回のメンバー関数は、シーケンス [First、 Last)を挿入します。
使用例
// list_insert.cpp
// compile with: /EHsc
// Shows the various ways to insert elements into a
// list<T>.
#include <list>
#include <iostream>
using namespace std ;
typedef list<int> LISTINT;
int main()
{
int rgTest1[] = {5,6,7};
int rgTest2[] = {10,11,12};
LISTINT listInt;
LISTINT listAnother;
LISTINT::iterator i;
// Insert one at a time
listInt.insert (listInt.begin(), 2);
listInt.insert (listInt.begin(), 1);
listInt.insert (listInt.end(), 3);
// 1 2 3
cout << "listInt:";
for (i = listInt.begin(); i != listInt.end(); i++)
cout << " " << *i;
cout << endl;
// Insert 3 fours
listInt.insert (listInt.end(), 3, 4);
// 1 2 3 4 4 4
cout << "listInt:";
for (i = listInt.begin(); i != listInt.end(); ++i)
cout << " " << *i;
cout << endl;
// Insert an array in there
listInt.insert (listInt.end(), rgTest1, rgTest1 + 3);
// 1 2 3 4 4 4 5 6 7
cout << "listInt:";
for (i = listInt.begin(); i != listInt.end(); ++i)
cout << " " << *i;
cout << endl;
// Insert another LISTINT
listAnother.insert (listAnother.begin(), rgTest2, rgTest2+3);
listInt.insert (listInt.end(), listAnother.begin(), listAnother.end());
// 1 2 3 4 4 4 5 6 7 10 11 12
cout << "listInt:";
for (i = listInt.begin(); i != listInt.end(); ++i)
cout << " " << *i;
cout << endl;
}
出力
listInt: 1 2 3
listInt: 1 2 3 4 4 4
listInt: 1 2 3 4 4 4 5 6 7
listInt: 1 2 3 4 4 4 5 6 7 10 11 12
必要条件
ヘッダー: <リスト>