コンテナライブラリは、キュー、リスト、スタックのような一般的なデータ構造をプログラマが簡単に実装することを可能とする汎用のクラステンプレートとアルゴリズムのコレクションです。 コンテナはシーケンスコンテナ、連想コンテナ、非順序連想コンテナの3種類に分類され、それぞれ違った操作をサポートするよう設計されています。
コンテナは要素のために確保した記憶域空間を管理し、それらに直接またはイテレータ (ポインタに似た性質のオブジェクト) を通してアクセスするためのメンバ関数を提供します。
ほとんどのコンテナは少なくともいくつかのメンバ関数を共通して持っており、機能性を共有しています。 特定のアプリケーションに対してどのコンテナがベストかはその提供される機能性だけではなく、異なるワークロードに対する効率性にもよります。
シーケンスコンテナはシーケンシャルアクセスが可能なデータ構造を実装しています。
| array (c++11) | 要素が隣接した静的な配列 (クラステンプレート) |
| vector | 要素が隣接した動的な配列 (クラステンプレート) |
| deque | 両端キュー (クラステンプレート) |
| forward_list (c++11) | 片方向連結リスト (クラステンプレート) |
| list | 双方向連結リスト (クラステンプレート) |
| set | 一意なキーによってソートされた、キーのコレクション (クラステンプレート) |
| map | 一意なキーによってソートされた、キー値ペアのコレクション (クラステンプレート) |
| multiset | キーによってソートされた、キーのコレクション (クラステンプレート) |
| multimap | キーによってソートされた、キー値ペアのコレクション (クラステンプレート) |
| unorderd_set (c++11) | 一意なキーによってハッシュされた、キーのコレクション (クラステンプレート) |
| unorderd_map (c++11) | 一意なキーによってハッシュされた、キー値ペアのコレクション (クラステンプレート) |
| unorderd_multiset (c++11) | キーによってハッシュされた、キーのコレクション (クラステンプレート) |
| unorderd_multimap (c++11) | キーによってハッシュされた、キー値ペアのコレクション (クラステンプレート) |
| stack | スタック(LIFO データ構造)を提供するためにコンテナを適合させます (クラステンプレート) |
| queue | キュー(FIFO データ構造)を提供するためにコンテナを適合させます (クラステンプレート) |
| priority_queue | 優先度付きキューを提供するためにコンテナを適合させます (クラステンプレート) |
| span (c++20) | オブジェクトの隣接したシーケンスに対する非所有ビュー (クラステンプレート) |
| 2021-08-12 | - | 新規作成 |