list::list (STL Samples)
Visual C++ で list:: リスト の標準テンプレート ライブラリ関数を使用する方法に (STL) ついて説明します。
explicit list(
const A& Al = A( )
);
explicit list(
size_type n,
const T& v = T( ),
const A& Al = A( )
);
list(
const list& x
);
list(
const_iterator First,
const_iterator Last,
const A& Al = A( )
);
解説
[!メモ]
プロトタイプのクラスやパラメーター名はヘッダー ファイルのバージョンと一致しない。ただし読みやすさが向上するように変更されました。
一つ目のコンストラクターは空の初期被制御シーケンスを指定します。2 つ目のコンストラクターは値 x. の n 個の 要素の繰り返しを指定します 。3 つ目のコンストラクターはx. によって制御されるシーケンスのコピーを指定します *。最後のコンストラクターはシーケンス First[Last) を指定します。すべてのコンストラクターはデータ メンバー アロケーター でコピー コンストラクターはアロケーター オブジェクト Al はx.*get_allocator の戻り値格納被制御シーケンスを初期化します。
使用例
// list_list.cpp
// compile with: /EHsc
// Demonstrates the different constructors for list<T>
#pragma warning (disable:4786)
#include <list>
#include <string>
#include <iostream>
using namespace std ;
typedef list<string> LISTSTR;
// Try each of the four constructors
int main()
{
LISTSTR::iterator i;
LISTSTR test; // default constructor
test.insert(test.end(), "one");
test.insert(test.end(), "two");
LISTSTR test2(test); // construct from another list
LISTSTR test3(3, "three"); // add several <T>'s
LISTSTR test4(++test3.begin(), // add part of another list
test3.end());
// Print them all out
// one two
cout << "test:";
for (i = test.begin(); i != test.end(); ++i)
cout << " " << *i;
cout << endl;
// one two
cout << "test:";
for (i = test2.begin(); i != test2.end(); ++i)
cout << " " << *i;
cout << endl;
// three three three
cout << "test:";
for (i = test3.begin(); i != test3.end(); ++i)
cout << " " << *i;
cout << endl;
// three three
cout << "test:";
for (i = test4.begin(); i != test4.end(); ++i)
cout << " " << *i;
cout << endl;
}
出力
test: one two
test: one two
test: three three three
test: three three
必要条件
ヘッダー : <list>