MakeAllocator クラス
WRL インフラストラクチャをサポートします。コードから直接使用するためのものではありません。
構文
template<
typename T,
bool hasWeakReferenceSupport =
!__is_base_of(RuntimeClassFlags<InhibitWeakReference>,
T)
>
class MakeAllocator;
template<typename T>
class MakeAllocator<T, false>;
template<typename T>
class MakeAllocator<T, true>;
パラメーター
T
型の名前。
hasWeakReferenceSupport
弱い参照をサポートするオブジェクトにメモリを割り当てる場合は true
。弱い参照をサポートしないオブジェクトにメモリを割り当てる場合は false
。
解説
弱い参照をサポートする場合でもしない場合でも、アクティブ化可能なクラスにメモリを割り当てます。
MakeAllocator
クラスをオーバーライドして、ユーザーが定義したメモリ割り当てモデルを実装します。
MakeAllocator
は、通常、オブジェクトが構築中にスローされた場合にメモリ リークを防ぐために使用されます。
メンバー
パブリック コンストラクター
名前 | 説明 |
---|---|
MakeAllocator::MakeAllocator | MakeAllocator クラスの新しいインスタンスを初期化します。 |
MakeAllocator::~MakeAllocator | MakeAllocator クラスの現在のインスタンスの初期化を解除します。 |
パブリック メソッド
名前 | 説明 |
---|---|
MakeAllocator::Allocate | メモリを割り当て、現在の MakeAllocator オブジェクトに関連付けます。 |
MakeAllocator::Detach | Allocate メソッドによって割り当てられたメモリと現在の MakeAllocator オブジェクトの関連付けを解除します。 |
継承階層
MakeAllocator
要件
ヘッダー: implements.h
名前空間: Microsoft::WRL::Details
MakeAllocator::Allocate
WRL インフラストラクチャをサポートします。コードから直接使用するためのものではありません。
__forceinline void* Allocate();
戻り値
成功した場合は、割り当てられたメモリへのポインター。それ以外の場合は nullptr
。
解説
メモリを割り当て、現在の MakeAllocator
オブジェクトに関連付けます。
割り当てられたメモリのサイズは、現在の MakeAllocator
テンプレート パラメーターで指定された型のサイズです。
開発者は、別のメモリ割り当てモデルを実装するために Allocate()
メソッドのみをオーバーライドする必要があります。
MakeAllocator::Detach
WRL インフラストラクチャをサポートします。コードから直接使用するためのものではありません。
__forceinline void Detach();
解説
Allocate メソッドによって割り当てられたメモリと現在の MakeAllocator
オブジェクトの関連付けを解除します。
Detach()
を呼び出す場合は、Allocate
メソッドによって提供されるメモリを削除する必要があります。
MakeAllocator::MakeAllocator
WRL インフラストラクチャをサポートします。コードから直接使用するためのものではありません。
MakeAllocator();
解説
MakeAllocator
クラスの新しいインスタンスを初期化します。
MakeAllocator::~MakeAllocator
WRL インフラストラクチャをサポートします。コードから直接使用するためのものではありません。
~MakeAllocator();
解説
MakeAllocator
クラスの現在のインスタンスの初期化を解除します。
このデストラクターは、必要に応じ基になる割り当てられたメモリも削除します。