Compartir a través de


MakeAllocator (clase)

Admite la infraestructura WRL y no está diseñada para usarse directamente desde el código.

Sintaxis

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
Nombre de tipo.

hasWeakReferenceSupport
true para asignar memoria para un objeto que admita referencias débiles; false para asignar memoria para un objeto que no admita referencias débiles.

Comentarios

Asigna memoria para una clase activable, con o sin compatibilidad de referencia débil.

Invalide la clase MakeAllocator para implementar un modelo de asignación de memoria definido por el usuario.

MakeAllocator normalmente se usa para evitar fugas de memoria si se inicia un objeto durante la construcción.

Miembros

Constructores públicos

Nombre Descripción
MakeAllocator::MakeAllocator Inicializa una nueva instancia de la clase MakeAllocator.
MakeAllocator::~MakeAllocator Desinicializa la instancia actual de la clase MakeAllocator.

Métodos públicos

Nombre Descripción
MakeAllocator::Allocate Asigna memoria y la asocia al objeto MakeAllocator actual.
MakeAllocator::Detach Desasocia la memoria asignada por el método Allocate del objeto MakeAllocator actual.

Jerarquía de herencia

MakeAllocator

Requisitos

Encabezado: implements.h

Espacio de nombres:Microsoft::WRL::Details

MakeAllocator::Allocate

Admite la infraestructura WRL y no está diseñada para usarse directamente desde el código.

__forceinline void* Allocate();

Valor devuelto

Si se ejecuta correctamente, un puntero a la memoria asignada; de lo contrario, nullptr.

Comentarios

Asigna memoria y la asocia al objeto MakeAllocator actual.

El tamaño de la memoria asignada es el tamaño del tipo especificado por el parámetro de plantilla MakeAllocator actual.

Un desarrollador debe invalidar solo el método Allocate() para implementar un modelo de asignación de memoria diferente.

MakeAllocator::Detach

Admite la infraestructura WRL y no está diseñada para usarse directamente desde el código.

__forceinline void Detach();

Comentarios

Desasocia la memoria asignada por el método Allocate del objeto MakeAllocator actual.

Si llama a Detach(), es responsable de eliminar la memoria proporcionada por el método Allocate.

MakeAllocator::MakeAllocator

Admite la infraestructura WRL y no está diseñada para usarse directamente desde el código.

MakeAllocator();

Comentarios

Inicializa una nueva instancia de la clase MakeAllocator.

MakeAllocator::~MakeAllocator

Admite la infraestructura WRL y no está diseñada para usarse directamente desde el código.

~MakeAllocator();

Comentarios

Desinicializa la instancia actual de la clase MakeAllocator.

Este destructor también elimina la memoria asignada subyacente si es necesario.