Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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
Espace de noms : 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.