標準 C++ アロケータインタフェースによって、データの記憶を一般的に管理する上で必要な型や関数がカプセル化されます。このインタフェースは以下の型を提供します。
ポインタ型と参照型
ポインタ間の差分の型
記憶ブロックのサイズを記述する型
記憶割り当てと割り当て解除の基本型
オブジェクトの構築と破壊の基本型
このアロケータインタフェースは、データ記憶の管理機構をラップして、この機構をデータ要素間の関係を保持するために使用されるクラスや関数から分離します。こうすることによって、異なる記憶機構に合わせてコンテナやアルゴリズムを書き直す必要がなくなります。このインタフェースによって、すべての記憶機構の詳細を 1 つのアロケータにカプセル化して、既存のコンテナに適宜提供することができます。
標準 C++ ライブラリには、すべての記憶管理に標準の new および delete 演算子を使用してこのインタフェースを実装する、デフォルトのアロケータクラス allocator があります。
この章では、allocator を既存のコンテナで使用する方法の概略と、ユーザー独自の allocator を設計する際に考慮すべき事項について説明します。第 16 章では、allocator を使用するコンテナを設計する際に考慮すべき事項について説明します。