アロケーター
標準テンプレート ライブラリでアロケーターをコンテナー要素のストアの割り当てと解放を処理するために使用されます。 すべての STL コンテナーは Type をコンテナー要素の型を表す型 **allocator<Type>**のテンプレート引数があります。 たとえば、Vector クラスを次のように宣言されます。:
template <
class Type,
class Allocator = allocator<Type>
>
class vector
標準テンプレート ライブラリは、アロケーターの既定の実装を提供します。 ほとんどの場合、この既定のアロケーターでも十分です。 既定の詳細については、「allocator クラス」を参照してください。
独自のアロケーターを記述できます。
メモリの割り当ておよび解放する既定の使用 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 クラス」を参照してください。