共用方式為


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::D etach 將 Allocate 方法所配置的記憶體與目前MakeAllocator物件解除關聯。

繼承階層架構

MakeAllocator

需求

標頭: implements.h

命名空間: Microsoft::WRL::D etails

MakeAllocator::Allocate

支援 WRL 基礎結構,並不適合直接從您的程式代碼使用。

__forceinline void* Allocate();

傳回值

如果成功,則為已配置記憶體的指標;否則為 nullptr

備註

配置記憶體,並將它與目前的 MakeAllocator 對象產生關聯。

配置記憶體的大小是目前 MakeAllocator 範本參數所指定的類型大小。

開發人員只需要 Allocate() 覆寫 方法來實作不同的記憶體配置模型。

MakeAllocator::D etach

支援 WRL 基礎結構,並不適合直接從您的程式代碼使用。

__forceinline void Detach();

備註

將 Allocate 方法所配置的記憶體與目前MakeAllocator物件解除關聯。

如果您呼叫 Detach(),您必須負責刪除 方法所提供的 Allocate 記憶體。

MakeAllocator::MakeAllocator

支援 WRL 基礎結構,並不適合直接從您的程式代碼使用。

MakeAllocator();

備註

初始化 MakeAllocator 類別的新執行個體。

MakeAllocator::~MakeAllocator

支援 WRL 基礎結構,並不適合直接從您的程式代碼使用。

~MakeAllocator();

備註

將類別的 MakeAllocator 目前實例取消初始化。

如有必要,這個解構函式也會刪除基礎配置的記憶體。