アロケーター
標準テンプレート ライブラリ (STL アロケーターをコンテナー要素のストアの割り当てを処理するために使用します。すべての STL コンテナーは Type をコンテナー要素の型を表す型 allocator<Type> のテンプレート引数があります。たとえばベクターのクラスは次のように宣言されています :
template <
class Type,
class Allocator = allocator<Type>
>
class vector
標準テンプレート ライブラリはアロケーターの既定の実装を提供します。ほとんどの場合この既定のアロケーターで十分です。既定のアロケーターの詳細についてはallocator Class を参照してください。
独自のアロケーターを記述できます。
メモリの割り当ておよび解放する既定のアロケーターを使用 new と delete。共有メモリを使用する場合はのようなメモリ割り当ての方法を使用して独自のアロケーターを作成する必要があります。
STL コンテナーで使用されるアロケーターは次の種類の定義を実装する必要があります :
const_pointer |
rebind |
const_reference |
reference |
difference_type |
size_type |
pointer |
value_type |
またSTL コンテナーで使用されるアロケーターは次のメソッドを実装する必要があります :
コンストラクター |
deallocate |
コピー コンストラクター |
destroy |
デストラクター |
max_size |
address |
operator== |
allocate |
operator!= |
construct |
これらの型の定義とメソッドの詳細についてはallocator Class を参照してください。