Udostępnij za pośrednictwem


Klasa CCRTHeap

Ta klasa implementuje program IAtlMemMgr przy użyciu funkcji sterty CRT.

Składnia

class CCRTHeap : public IAtlMemMgr

Członkowie

Metody publiczne

Nazwa/nazwisko opis
CCRTHeap::Przydziel Wywołaj tę metodę, aby przydzielić blok pamięci.
CCRTHeap::Free Wywołaj tę metodę, aby zwolnić blok pamięci przydzielony przez tego menedżera pamięci.
CCRTHeap::GetSize Wywołaj tę metodę, aby uzyskać przydzielony rozmiar bloku pamięci przydzielonego przez tego menedżera pamięci.
CCRTHeap::Reallocate Wywołaj tę metodę, aby ponownie przydzielić pamięć przydzieloną przez tego menedżera pamięci.

Uwagi

CCRTHeap implementuje funkcje alokacji pamięci przy użyciu funkcji sterty CRT, w tym malloc, free, realloc i _msize.

Przykład

Zobacz przykład dla programu IAtlMemMgr.

Hierarchia dziedziczenia

IAtlMemMgr

CCRTHeap

Wymagania

Nagłówek: atlmem.h

CCRTHeap::Przydziel

Wywołaj tę metodę, aby przydzielić blok pamięci.

virtual __declspec(allocator) void* Allocate(size_t nBytes) throw();

Parametry

nBajty
Żądana liczba bajtów w nowym bloku pamięci.

Wartość zwracana

Zwraca wskaźnik na początek nowo przydzielonego bloku pamięci.

Uwagi

Wywołaj metodę CCRTHeap::Free lub CCRTHeap::Reallocate , aby zwolnić pamięć przydzieloną przez tę metodę.

Zaimplementowano przy użyciu malloc.

CCRTHeap::Free

Wywołaj tę metodę, aby zwolnić blok pamięci przydzielony przez tego menedżera pamięci.

virtual void Free(void* p) throw();

Parametry

p
Wskaźnik do pamięci przydzielonej wcześniej przez tego menedżera pamięci. Wartość NULL jest prawidłową wartością i nic nie robi.

Uwagi

Zaimplementowano bezpłatnie.

CCRTHeap::GetSize

Wywołaj tę metodę, aby uzyskać przydzielony rozmiar bloku pamięci przydzielonego przez tego menedżera pamięci.

virtual size_t GetSize(void* p) throw();

Parametry

p
Wskaźnik do pamięci przydzielonej wcześniej przez tego menedżera pamięci.

Wartość zwracana

Zwraca rozmiar przydzielonego bloku pamięci w bajtach.

Uwagi

Zaimplementowano przy użyciu _msize.

CCRTHeap::Reallocate

Wywołaj tę metodę, aby ponownie przydzielić pamięć przydzieloną przez tego menedżera pamięci.

virtual __declspec(allocator) void* Reallocate(void* p, size_t nBytes) throw();

Parametry

p
Wskaźnik do pamięci przydzielonej wcześniej przez tego menedżera pamięci.

nBajty
Żądana liczba bajtów w nowym bloku pamięci.

Wartość zwracana

Zwraca wskaźnik na początek nowo przydzielonego bloku pamięci.

Uwagi

Wywołaj metodę CCRTHeap::Free , aby zwolnić pamięć przydzieloną przez tę metodę. Zaimplementowano przy użyciu przydziału rzeczywistego.

Zobacz też

Omówienie klasy
Klasa CComHeap
Klasa CWin32Heap
Klasa CLocalHeap
Klasa CGlobalHeap
Klasa IAtlMemMgr