次の方法で共有


allocator クラス

このテンプレート クラスは、Type 型のオブジェクトの配列に対し、ストレージの割り当てと解放を管理するオブジェクトを記述します。 クラス アロケーター オブジェクトは、標準 C++ ライブラリのいくつかのコンテナーのテンプレート クラスにコンストラクターで指定された既定のアロケーター オブジェクトです。

template <class Type> 
class allocator

パラメーター

  • Type
    ストレージを割り当てるか、解放されているオブジェクトの型。

解説

すべての標準テンプレート ライブラリのコンテナーに アロケーターにその既定テンプレート パラメーターがあります。 テンプレート クラス アロケーター は多少ウォーカーである複数の型定義を定義します。 これらは、ほとんどの価値が定義とは異なります。 ただし、同じメンバーを持つ別のクラスには、さらに重要な方法を提供する場合もあります。 このようなクラスのアロケーター オブジェクトを持つコンテナーを作成すると、そのコンテナーによって制御される要素の割り当てと解放を個別に制御できます。

たとえば、アロケーター オブジェクトは、プライベートなヒープのストレージを割り当てる場合があります。 これは、ヒープ上のメモリを割り当てられたオブジェクトにアクセスするには、標準以外のポインターが要求ように割り当てられている場合があります。 要素が共有メモリを管理する、または実行自動ガベージ コレクションをアクセスする特別なアクセサー オブジェクトを通じて、また、指定される可能性がある型定義で指定します。 したがって、アロケーター オブジェクトを使用してメモリを割り当ててクラスはポインターと参照オブジェクトを宣言するには、標準 C++ ライブラリのコンテナーと同様に、これらの型を使用します。

アロケーター クラスから派生する場合、_Other の typedef が新たに派生されたクラスを参照する バインド 構造体を提供する必要があります。

したがって、アロケーターは次の型を定義する:

  • ポインタ[種類] へのポインターと同様に動作します。

  • const_pointer[種類] への const ポインターのように動作します。

  • リファレンス[種類] への参照のように動作します。

  • const_reference[種類] への const 参照のように動作します。

これらの [種類] s はポインターと参照が割り当てられた要素にいくつかフォームを指定します。(allocator::pointer は* (すべてのアロケーター オブジェクトの場合 [種類] とクラス アロケーターのこのマニフェスト定義がありますが、必ずしも同じではありません。

メンバー

コンストラクター

allocator

allocator オブジェクトの作成に使用するコンストラクター。

Typedef

const_pointer

オブジェクトの種類に定数ポインターを提供する型は、アロケーターによって管理されます。

const_reference

オブジェクトの型への参照を提供する型は、アロケーターによって管理されます。

difference_type

オブジェクトの型へのポインターの値との間の相違点を表示できる符号付きな整数型は、アロケーターによって管理されます。

pointer

オブジェクトの型へのポインターを提供する型は、アロケーターによって管理されます。

参照

オブジェクトの型への参照を提供する型は、アロケーターによって管理されます。

size_type

テンプレート クラス allocator のオブジェクトに割り当てることができるすべてのシーケンスの長さを表現できる符号なしな整数型。

value_type

アロケーターによって管理される型。

メンバー関数

address

値が指定されたオブジェクトのアドレスを検索します。

割り当てます。

要素の少なくとも指定数を格納するのに十分なメモリ ブロックを割り当てます。

構造体

指定された値に初期化される指定したアドレスにあるオブジェクトの特定の型を構築します。

解放してください。

指定した位置にストレージの先頭から指定した数のオブジェクトを解放します。

destroy

オブジェクトが格納されているメモリを解放しないでオブジェクトのデストラクターを呼び出します。

max_size

空きメモリが使い果される前にクラス allocator オブジェクトに割り当てることができる型 Type の要素数を返します。

バインド

1 種類のオブジェクトのアロケーターを別の型のオブジェクトのストレージを割り当てることができる構造体。

演算子

operator=

allocator の別のオブジェクトに allocator の 1 種類のオブジェクトを割り当てます。

必要条件

ヘッダー: の<メモリ>

名前空間: std

参照

関連項目

C++ 標準ライブラリ内のスレッド セーフ

その他の技術情報

アロケーターのメンバー

<memory> メンバー