Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.
Elementy członkowskie
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ęć.