MakeAllocator (classe)
Prend en charge l’infrastructure WRL et n’est pas destinée à être utilisée directement à partir de votre code.
Syntaxe
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>;
Paramètres
T
Un nom de type.
hasWeakReferenceSupport
true
pour allouer de la mémoire pour un objet qui prend en charge les références faibles ; false
pour allouer de la mémoire pour un objet qui ne prend pas en charge les références faibles.
Notes
Alloue de la mémoire pour une classe activable, avec ou sans prise en charge de référence faible.
Remplacez la MakeAllocator
classe pour implémenter un modèle d’allocation de mémoire défini par l’utilisateur.
MakeAllocator
est généralement utilisé pour empêcher les fuites de mémoire si un objet lève pendant la construction.
Membres
Constructeurs publics
Nom | Description |
---|---|
MakeAllocator ::MakeAllocator | Initialise une nouvelle instance de la classe MakeAllocator . |
MakeAllocator ::~MakeAllocator | Désinitialise l’instance actuelle de la MakeAllocator classe. |
Méthodes publiques
Nom | Description |
---|---|
MakeAllocator ::Allocate | Alloue de la mémoire et l’associe à l’objet actuel MakeAllocator . |
MakeAllocator ::D etach | Dissocie la mémoire allouée par la méthode Allocate de l’objet actuel MakeAllocator . |
Hiérarchie d'héritage
MakeAllocator
Spécifications
En-tête : implements.h
Namespace : Microsoft ::WRL ::D etails
MakeAllocator ::Allocate
Prend en charge l’infrastructure WRL et n’est pas destinée à être utilisée directement à partir de votre code.
__forceinline void* Allocate();
Valeur de retour
En cas de réussite, un pointeur vers la mémoire allouée ; sinon, nullptr
.
Notes
Alloue de la mémoire et l’associe à l’objet actuel MakeAllocator
.
La taille de la mémoire allouée est la taille du type spécifié par le paramètre de modèle actuel MakeAllocator
.
Un développeur doit remplacer uniquement la Allocate()
méthode pour implémenter un autre modèle d’allocation de mémoire.
MakeAllocator ::D etach
Prend en charge l’infrastructure WRL et n’est pas destinée à être utilisée directement à partir de votre code.
__forceinline void Detach();
Notes
Dissocie la mémoire allouée par la méthode Allocate de l’objet actuel MakeAllocator
.
Si vous appelez Detach()
, vous êtes responsable de la suppression de la mémoire fournie par la Allocate
méthode.
MakeAllocator ::MakeAllocator
Prend en charge l’infrastructure WRL et n’est pas destinée à être utilisée directement à partir de votre code.
MakeAllocator();
Notes
Initialise une nouvelle instance de la classe MakeAllocator
.
MakeAllocator ::~MakeAllocator
Prend en charge l’infrastructure WRL et n’est pas destinée à être utilisée directement à partir de votre code.
~MakeAllocator();
Notes
Désinitialise l’instance actuelle de la MakeAllocator
classe.
Ce destructeur supprime également la mémoire allouée sous-jacente si nécessaire.