list クラス

STL list クラスは、要素を線形の配置に維持し、シーケンス内の任意の場所での効率的な挿入と削除を可能にする、シーケンス コンテナーのテンプレート クラスです。 シーケンスは要素の双方向リンク リストとして格納され、各要素には型 Type のメンバーが含まれます。

template <    class Type,     class Allocator=allocator<Type>  > class list

パラメーター

  • 種類
    list に格納される要素のデータ型。

  • Allocator
    メモリの list の割り当てと解放に関する詳細をカプセル化する、格納されたアロケーター オブジェクトを表す型。 この引数は省略可能であり、既定値は allocator<Type> です。

解説

一般的に、コンテナー型の選択は、アプリケーションにおいて必要な検索および挿入の種類に基づいている必要があります。 ベクターは、任意の要素へのランダム アクセスが優先事項であり、要素の挿入または削除がシーケンスの最後にのみ必要な場合に、シーケンスを管理するための推奨されるコンテナーです。 クラスの deque コンテナーでは、ランダム アクセスが必要であり、シーケンスの先頭と末尾の両方における挿入と削除が優先事項である場合に、より優れたパフォーマンスになります。

list のメンバー関数 mergereverseuniqueremove、および remove_if はリスト オブジェクトの操作用に最適化されており、対応する汎用的な関数に比べて、高いパフォーマンスが提供されます。

リストの再割り当ては、メンバー関数がリストの要素を挿入または消去する必要がある場合に発生します。 このような場合、制御対象シーケンスの消去部分を指す反復子または参照は常に無効になります。

STL 標準ヘッダー <list> を定義するには、コンテナー テンプレート クラス list および複数のサポート テンプレートをインクルードします。

コンストラクター

リスト

特定のサイズのリスト、特定の値の要素を持つリスト、特定の allocator を持つリストを構築します。または他のリストのコピーとしてリストを構築します。

Typedef

allocator_type

リスト オブジェクトの allocator クラスを表す型。

const_iterator

リスト内の 1 つの const 要素を読み取ることができる双方向反復子を提供する型。

const_pointer

リスト内の const 要素へのポインターを提供する型。

const_reference

読み取りと const 操作の実行のために、リストに格納された const 要素への参照を提供する型。

const_reverse_iterator

リスト内の任意の const 要素を読み取ることができる双方向反復子を提供する型。

difference_type

同じリスト内の要素を参照する 2 反復子の違いを提供する型。

iterator

リスト内の任意の要素の読み取りまたは変更ができる双方向反復子を提供する型。

ポインター

リスト内の要素へのポインターを提供する型。

参照

読み取りと const 操作の実行のために、リストに格納された const 要素への参照を提供する型。

reverse_iterator

逆順のリスト内の 1 つの要素の読み取りまたは変更ができる双方向反復子を提供する型。

size_type

リスト内の要素の数をカウントする型。

value_type

リスト内に格納されているデータ型を表す型。

メンバー関数

assign

リストから要素を消去し、対象のリストに新しい要素のセットをコピーします。

back

リストの最後の要素への参照を返します。

begin

リスト内の最初の要素を指す反復子を返します。

list::cbegin

リスト内の最初の要素を指す定数反復子を返します。

list::cend

リスト内の最後の要素の次の場所を指す定数反復子を返します。

list::clear

リストのすべての要素を消去します。

list::crbegin

逆順のリスト内の最初の要素を指す定数反復子を返します。

list::crend

逆順のリスト内の最後の要素の次の位置を指す定数反復子を返します。

list::emplace

指定した位置において、構築された要素をリスト内の適切な場所に挿入します。

list::emplace_back

イン プレースで構築された要素をリストの末尾に追加します。

list::emplace_front

イン プレースで構築された要素をリストの先頭に追加します。

empty

リストが空かどうかをテストします。

End

リスト内の最後の要素の次の位置を指す反復子を返します。

erase

指定した位置からリスト内の要素または要素範囲を削除します。

front

リスト内の最初の要素への参照を返します。

get_allocator

リストの構築に使用される allocator オブジェクトのコピーを返します。

insert

リストの指定した位置に要素、複数の要素、または要素の範囲を挿入します。

max_size

リストの最大長を返します。

merge

引数リストから要素を削除し、それを対象のリストに挿入して、新たに組み合わされたセットの要素を昇順またはその他の指定された順序で並べ替えます。

pop_back

リストの末尾の要素を削除します。

pop_front

リストの先頭から要素を削除します。

push_back

リストの末尾に要素を追加します。

push_front

リストの先頭に要素を追加します。

rbegin

逆順のリスト内の最初の要素を指す反復子を返します。

remove

指定された値と一致するリストの要素を消去します。

remove_if

指定した述語の条件を満たすリストから要素を消去します。

rend

逆順のリスト内の最後の要素の次の位置を指す反復子を返します。

resize

リストの新しいサイズを指定します。

reverse

要素がリストに出現する順序を反転させます。

size

リスト内の要素数を返します。

sort

リストの要素を、昇順または他の順序関係に従って整列します。

splice

引数リストから要素を削除し、それらを対象のリストに挿入します。

swap

2 つのリストの要素を交換します。

unique

隣接する重複要素、または他のいずれかの二項述語の条件を満たす、隣接する要素をリストから削除します。

演算子

list::operator=

別のリストのコピーでリストの要素を置き換えます。

必要条件

ヘッダー: <list>

参照

関連項目

<list>

C++ 標準ライブラリ内のスレッド セーフ

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