deque クラス
特定の型の要素をベクターのような線形の配置に整列し、任意の要素への高速なランダム アクセス、およびコンテナーの後ろでの効率的な挿入と削除を行えるようにします。 ただし、ベクターとは異なり、deque クラスは、コンテナーの前での効率的な挿入と削除もサポートします。
template <
class Type,
class Allocator=allocator<Type>
>
class deque
パラメーター
Type
deque に格納される要素のデータ型。Allocator
メモリの deque の割り当てと解放に関する詳細をカプセル化する、格納されたアロケーター オブジェクトを表す型。 この引数は省略可能であり、既定値は allocator<Type> です。
解説
一般的に、コンテナー型の選択は、アプリケーションにおいて必要な検索および挿入の種類に基づいている必要があります。 ベクターは、任意の要素へのランダム アクセスが優先事項であり、要素の挿入または削除がシーケンスの最後にのみ必要な場合に、シーケンスを管理するための推奨されるコンテナーです。 リスト コンテナーでは、シーケンス内の任意の位置における (定数時間での) 効率的な挿入と削除が優先事項である場合に、より優れたパフォーマンスになります。 シーケンスの途中でこのような操作を行うには、シーケンス (線形時間) 内の要素数に比例した要素のコピーおよび割り当てが必要になります。
deque の再割り当ては、メンバー関数がシーケンスの要素を挿入または消去する必要がある場合に発生します。
要素が空のシーケンスに挿入された場合、または空のシーケンスを残すために要素が消去された場合は、begin および end によって以前に返された反復子が無効になります。
要素が deque の最初の位置に挿入された場合は、既存の要素を指定するすべての反復子 (参照を除く) が無効になります。
要素が deque の末尾に挿入された場合は、end および既存の要素を指定するすべての反復子 (参照を除く) が無効になります。
要素が deque の前で消去された場合は、その反復子と消去された要素へ参照のみが無効になります。
最後の要素が deque の末尾から消去された場合は、最後の要素への反復子と消去された要素への参照のみが無効になります。
それ以外の場合、要素を挿入または消去すると、すべての反復子および参照が無効になります。
コンストラクター
deque を構築します。異なる方法で新しい deque の内容を設定するための複数のコンストラクターが用意されています (空の場合に指定した空の要素数で読み込む、別の deque から内容をコピーまたは移動する、反復子を使用して内容をコピーまたは移動する、1 つの要素を deque に _Count 回コピーするなど)。 一部のコンストラクターでは、要素を作成するためのカスタムの allocator を使用できます。 |
Typedef
deque オブジェクトの allocator クラスを表す型。 |
|
deque 内の要素にアクセスし、読み取ることができるランダム アクセス反復子を const として提供する型。 |
|
deque 内の要素へのポインターを const. として提供する型。 |
|
読み取りと他の操作の実行のために、deque 内の要素への参照を const. として提供する型。 |
|
deque 内の要素にアクセスし、読み取ることができるランダム アクセス反復子を const として提供する型。 deque は逆に表示されます。 詳細については、「reverse_iterator クラス」を参照してください。 |
|
同じ deque 内の要素を参照する 2 つのランダム アクセス反復子の違いを提供する型。 |
|
deque 内の任意の要素を読み取り、または変更できるランダム アクセス反復子を提供する型。 |
|
deque 内の要素へのポインターを提供する型。 |
|
deque に格納されている要素への参照を提供する型。 |
|
deque 内の要素を読み取り、または変更できるランダム アクセス反復子を提供する型。 deque は逆の順序で表示されます。 |
|
deque 内の要素の数をカウントする型。 |
|
deque に格納されているデータ型を表す型。 |
メンバー関数
deque から要素を消去し、対象の deque に要素の新しいシーケンスをコピーします。 |
|
deque 内の指定した位置にある要素への参照を返します。 |
|
deque の最後の要素への参照を返します。 |
|
deque 内の最初の要素を示すランダム アクセス反復子を返します。 |
|
deque 内の最初の要素への定数反復子を返します。 |
|
deque の末尾の次の位置を指し示すランダム アクセス const 反復子を返します。 |
|
deque のすべての要素を消去します。 |
|
deque 内の最初の要素へのランダム アクセス定数反復子を返します。 |
|
deque 内の最初の要素へのランダム アクセス定数反復子を返します。 |
|
指定した位置において、構築された要素を deque の適切な場所に挿入します。 |
|
構築された要素を deque の末尾の適切な場所に追加します。 |
|
構築された要素を deque の先頭の適切な場所に追加します。 |
|
deque に含まれている要素がゼロ個の場合に true を返し、1 つ以上の要素が含まれている場合に false を返します。 |
|
deque の末尾の次の位置を指し示すランダム アクセス反復子を返します。 |
|
指定した位置から deque の要素または要素範囲を削除します。 |
|
deque 内の最初の要素への参照を返します。 |
|
deque の構築に使用される allocator オブジェクトのコピーを返します。 |
|
指定した位置において、deque に単一の要素、複数の要素、または要素の範囲を挿入します。 |
|
deque の可能な最大長を返します。 |
|
deque の末尾の要素を消去します。 |
|
deque の先頭の要素を消去します。 |
|
deque の末尾に要素を追加します。 |
|
deque の先頭に要素を追加します。 |
|
逆順の deque 内の最初の要素へのランダム アクセス反復子を返します。 |
|
逆順の deque 内の最後の要素の次の位置を指し示すランダム アクセス反復子を返します。 |
|
deque の新しいサイズを指定します。 |
|
余分なキャパシティを破棄します。 |
|
deque 内の要素数を返します。 |
|
2 つの deque の要素を交換します。 |
演算子
指定した位置における deque 要素への参照を返します。 |
|
別の deque のコピーで deque の要素を置き換えます。 |
必要条件
ヘッダー: <deque>