MakeAllocator-Klasse
Unterstützt die WRL-Infrastruktur und soll nicht direkt aus Ihrem Code verwendet werden.
Syntax
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>;
Parameter
T
Ein Typname.
hasWeakReferenceSupport
true
Speicher für ein Objekt zuzuweisen, das schwache Verweise unterstützt; false
um Speicher für ein Objekt zuzuweisen, das keine schwachen Verweise unterstützt.
Hinweise
Weist Speicher für eine aktivierbare Klasse mit oder ohne schwache Referenzunterstützung zu.
Überschreiben Sie die MakeAllocator
Klasse, um ein benutzerdefiniertes Speicherzuordnungsmodell zu implementieren.
MakeAllocator
wird in der Regel verwendet, um Speicherverluste zu verhindern, wenn ein Objekt während der Konstruktion ausgelöst wird.
Member
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
MakeAllocator::MakeAllocator | Initialisiert eine neue Instanz der MakeAllocator -Klasse. |
MakeAllocator::~MakeAllocator | Deinitialisiert die aktuelle Instanz der MakeAllocator Klasse. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
MakeAllocator::Zuweisung | Weist Arbeitsspeicher zu und ordnet es dem aktuellen MakeAllocator Objekt zu. |
MakeAllocator::D etach | Entfernt die Zuordnung des von der Methode "Associat " zugeordneten Speichers vom aktuellen MakeAllocator Objekt. |
Vererbungshierarchie
MakeAllocator
Anforderungen
Header: implements.h
Namespace: Microsoft::WRL::D etails
MakeAllocator::Zuweisung
Unterstützt die WRL-Infrastruktur und soll nicht direkt aus Ihrem Code verwendet werden.
__forceinline void* Allocate();
Rückgabewert
Bei erfolgreicher Ausführung ein Zeiger auf den zugewiesenen Speicher; andernfalls . nullptr
Hinweise
Weist Arbeitsspeicher zu und ordnet es dem aktuellen MakeAllocator
Objekt zu.
Die Größe des zugewiesenen Speichers ist die Größe des typs, der durch den aktuellen MakeAllocator
Vorlagenparameter angegeben wird.
Ein Entwickler muss nur die Allocate()
Methode außer Kraft setzen, um ein anderes Speicherzuweisungsmodell zu implementieren.
MakeAllocator::D etach
Unterstützt die WRL-Infrastruktur und soll nicht direkt aus Ihrem Code verwendet werden.
__forceinline void Detach();
Hinweise
Entfernt die Zuordnung des von der Methode "Associat " zugeordneten Speichers vom aktuellen MakeAllocator
Objekt.
Wenn Sie aufrufen Detach()
, sind Sie dafür verantwortlich, den von der Allocate
Methode bereitgestellten Speicher zu löschen.
MakeAllocator::MakeAllocator
Unterstützt die WRL-Infrastruktur und soll nicht direkt aus Ihrem Code verwendet werden.
MakeAllocator();
Hinweise
Initialisiert eine neue Instanz der MakeAllocator
-Klasse.
MakeAllocator::~MakeAllocator
Unterstützt die WRL-Infrastruktur und soll nicht direkt aus Ihrem Code verwendet werden.
~MakeAllocator();
Hinweise
Deinitialisiert die aktuelle Instanz der MakeAllocator
Klasse.
Dieser Destruktor löscht bei Bedarf auch den zugrunde liegenden zugeordneten Speicher.