Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Supporta l'infrastruttura WRL e non deve essere usata direttamente dal codice.
Sintassi
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>;
Parametri
T
Un nome di tipo.
hasWeakReferenceSupport
true allocare memoria per un oggetto che supporta riferimenti deboli; false per allocare memoria per un oggetto che non supporta riferimenti deboli.
Osservazioni:
Alloca memoria per una classe attivabile, con o senza supporto di riferimento debole.
Eseguire l'override della MakeAllocator classe per implementare un modello di allocazione di memoria definito dall'utente.
MakeAllocator viene in genere usato per evitare perdite di memoria se un oggetto genera un'eccezione durante la costruzione.
Membri
Costruttori pubblici
| Nome | Descrizione |
|---|---|
| MakeAllocator::MakeAllocator | Inizializza una nuova istanza della classe MakeAllocator. |
| MakeAllocator::~MakeAllocator | Deinitialize l'istanza corrente della MakeAllocator classe . |
Metodi pubblici
| Nome | Descrizione |
|---|---|
| MakeAllocator::Allocate | Alloca la memoria e la associa all'oggetto corrente MakeAllocator . |
| MakeAllocator::D etach | Annulla l'associazione della memoria allocata dal metodo Allocate dall'oggetto corrente MakeAllocator . |
Gerarchia di ereditarietà
MakeAllocator
Requisiti
Intestazione: implements.h
Spazio dei nomi: Microsoft::WRL::D etails
MakeAllocator::Allocate
Supporta l'infrastruttura WRL e non deve essere usata direttamente dal codice.
__forceinline void* Allocate();
Valore restituito
In caso di esito positivo, un puntatore alla memoria allocata; in caso contrario, nullptr.
Osservazioni:
Alloca la memoria e la associa all'oggetto corrente MakeAllocator .
La dimensione della memoria allocata è la dimensione del tipo specificato dal parametro modello corrente MakeAllocator .
Uno sviluppatore deve eseguire l'override solo del Allocate() metodo per implementare un modello di allocazione di memoria diverso.
MakeAllocator::D etach
Supporta l'infrastruttura WRL e non deve essere usata direttamente dal codice.
__forceinline void Detach();
Osservazioni:
Annulla l'associazione della memoria allocata dal metodo Allocate dall'oggetto corrente MakeAllocator .
Se si chiama Detach(), si è responsabili dell'eliminazione della memoria fornita dal Allocate metodo .
MakeAllocator::MakeAllocator
Supporta l'infrastruttura WRL e non deve essere usata direttamente dal codice.
MakeAllocator();
Osservazioni:
Inizializza una nuova istanza della classe MakeAllocator.
MakeAllocator::~MakeAllocator
Supporta l'infrastruttura WRL e non deve essere usata direttamente dal codice.
~MakeAllocator();
Osservazioni:
Deinitialize l'istanza corrente della MakeAllocator classe .
Questo distruttore elimina anche la memoria allocata sottostante, se necessario.