MakeAllocator — Klasa
Obsługuje infrastrukturę biblioteki WRL i nie jest przeznaczona do użycia bezpośrednio z kodu.
Składnia
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>;
Parametry
T
Nazwa typu.
hasWeakReferenceSupport
true
aby przydzielić pamięć dla obiektu, który obsługuje słabe odwołania; false
aby przydzielić pamięć dla obiektu, który nie obsługuje słabych odwołań.
Uwagi
Przydziela pamięć dla klasy możliwej do aktywowania z obsługą słabych odwołań lub bez jej obsługi.
Zastąpij klasę w MakeAllocator
celu zaimplementowania modelu alokacji pamięci zdefiniowanej przez użytkownika.
MakeAllocator
jest zwykle używany do zapobiegania wyciekom pamięci, jeśli obiekt zgłasza się podczas budowy.
Członkowie
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
MakeAllocator::MakeAllocator | Inicjuje nowe wystąpienie klasy MakeAllocator . |
MakeAllocator::~MakeAllocator | Deinitializuje bieżące wystąpienie MakeAllocator klasy. |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
MakeAllocator::Przydziel | Przydziela pamięć i kojarzy ją z bieżącym MakeAllocator obiektem. |
MakeAllocator::D etach | Usuwa skojarzenie pamięci przydzielonej przez metodę Allocate z bieżącego MakeAllocator obiektu. |
Hierarchia dziedziczenia
MakeAllocator
Wymagania
Nagłówek: implements.h
Przestrzeń nazw: Microsoft::WRL::D etails
MakeAllocator::Przydziel
Obsługuje infrastrukturę biblioteki WRL i nie jest przeznaczona do użycia bezpośrednio z kodu.
__forceinline void* Allocate();
Wartość zwracana
Jeśli operacja powiedzie się, wskaźnik do przydzielonej pamięci; w przeciwnym razie, nullptr
.
Uwagi
Przydziela pamięć i kojarzy ją z bieżącym MakeAllocator
obiektem.
Rozmiar przydzielonej pamięci to rozmiar typu określonego przez bieżący MakeAllocator
parametr szablonu.
Deweloper musi zastąpić tylko metodę Allocate()
implementowania innego modelu alokacji pamięci.
MakeAllocator::D etach
Obsługuje infrastrukturę biblioteki WRL i nie jest przeznaczona do użycia bezpośrednio z kodu.
__forceinline void Detach();
Uwagi
Usuwa skojarzenie pamięci przydzielonej przez metodę Allocate z bieżącego MakeAllocator
obiektu.
Jeśli wywołasz metodę Detach()
, odpowiadasz za usunięcie pamięci dostarczonej przez metodę Allocate
.
MakeAllocator::MakeAllocator
Obsługuje infrastrukturę biblioteki WRL i nie jest przeznaczona do użycia bezpośrednio z kodu.
MakeAllocator();
Uwagi
Inicjuje nowe wystąpienie klasy MakeAllocator
.
MakeAllocator::~MakeAllocator
Obsługuje infrastrukturę biblioteki WRL i nie jest przeznaczona do użycia bezpośrednio z kodu.
~MakeAllocator();
Uwagi
Deinitializuje bieżące wystąpienie MakeAllocator
klasy.
W razie potrzeby ten destruktor usuwa również podstawową przydzieloną pamięć.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla