deque は vector と同じように宣言され、vector と同じ型の定義をクラスに組み込みます。begin() と end() のメンバー関数は list の場合に返される双方向反復子ではなく、ランダムアクセス反復子を返します。
insert()、push_front()、push_back() のいずれかの挿入は、すべての未処理の反復子と deque の要素への参照を、 無効にしてしまう可能性があります。この点では、vector データ型と同様で、list への挿入よりも制限条件が厳しくなります。
配下の要素型にデストラクタがある場合、値が deque から 消去されるとデストラクタが呼び出されます。
deque データ型はランダムアクセス反復子を提供するため、vector で演算を行う汎用アルゴリズムはすべて、deque でも使用することができます。
vector は 1 つの大きなメモリーブロックに要素を保持します。一方、deque は多数の小さなブロックを使用します。これは、メモリーブロックのサイズに制限があるシステムでは重要で、deque が vector よりも多くの要素を保持できることになります。
値が挿入されると、コレクションの特定の要素に関連付けられたインデックスが変更されます。たとえば、値が 3 の位置に挿入されると、以前にインデックスの 3 の位置にあった値が 4 の位置になり、以前に 4 の位置にあった値が 5 の位置になります (以降同様に変更されます)。