Classe MakeAllocator
Suporta a infraestrutura WRL e não se destina a ser usado diretamente do seu código.
Sintaxe
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>;
Parâmetros
T
O nome de um tipo.
hasWeakReferenceSupport
true
para alocar memória para um objeto que dá suporte a referências fracas; false
para alocar memória para um objeto que não dá suporte a referências fracas.
Comentários
Aloca memória para uma classe ativável, com ou sem suporte a referências fracas.
Substitui a classe MakeAllocator
para implementar um modelo de alocação de memória definido pelo usuário.
MakeAllocator
normalmente é usado para evitar perdas de memória se um objeto for lançado durante a construção.
Membros
Construtores públicos
Nome | Descrição |
---|---|
MakeAllocator::MakeAllocator | Inicializa uma nova instância da classe MakeAllocator . |
MakeAllocator::~MakeAllocator | Desinicializa a instância atual da classe MakeAllocator . |
Métodos públicos
Nome | Descrição |
---|---|
MakeAllocator::Allocate | Aloca memória e a associa ao objeto atual MakeAllocator . |
MakeAllocator::Detach | Desassocia a memória alocada pelo método Allocate do objeto atual MakeAllocator . |
Hierarquia de herança
MakeAllocator
Requisitos
Cabeçalho: implements.h
Namespace: Microsoft::WRL::Details
MakeAllocator::Allocate
Suporta a infraestrutura WRL e não se destina a ser usado diretamente do seu código.
__forceinline void* Allocate();
Valor de retorno
Se tiver êxito, um ponteiro para a memória alocada; caso contrário, nullptr
.
Comentários
Aloca memória e a associa ao objeto atual MakeAllocator
.
O tamanho da memória alocada é o tamanho do tipo especificado pelo parâmetro de modelo atual MakeAllocator
.
Um desenvolvedor precisa substituir apenas o método Allocate()
para implementar um modelo diferente de alocação de memória.
MakeAllocator::Detach
Suporta a infraestrutura WRL e não se destina a ser usado diretamente do seu código.
__forceinline void Detach();
Comentários
Desassocia a memória alocada pelo método Allocate do objeto atual MakeAllocator
.
Se você chamar Detach()
, será responsável por excluir a memória fornecida pelo método Allocate
.
MakeAllocator::MakeAllocator
Suporta a infraestrutura WRL e não se destina a ser usado diretamente do seu código.
MakeAllocator();
Comentários
Inicializa uma nova instância da classe MakeAllocator
.
MakeAllocator::~MakeAllocator
Suporta a infraestrutura WRL e não se destina a ser usado diretamente do seu código.
~MakeAllocator();
Comentários
Desinicializa a instância atual da classe MakeAllocator
.
Esse destruidor também exclui a memória alocada subjacente, se necessário.