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.
Ta klasa implementuje program IAtlMemMgr przy użyciu funkcji sterty CRT.
Składnia
class CCRTHeap : public IAtlMemMgr
Elementy członkowskie
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
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