次の方法で共有


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>

参照

概念

標準テンプレート ライブラリのサンプル