Aracılığıyla paylaş


CCRTHeap Sınıfı

Bu sınıf, CRT yığın işlevlerini kullanarak IAtlMemMgr uygular.

Sözdizimi

class CCRTHeap : public IAtlMemMgr

Üyeler

Genel Yöntemler

Ad Tanım
CCRTHeap::Allocate Bir bellek bloğu ayırmak için bu yöntemi çağırın.
CCRTHeap::Ücretsiz Bu bellek yöneticisi tarafından ayrılan bir bellek bloğunu boşaltmak için bu yöntemi çağırın.
CCRTHeap::GetSize Bu bellek yöneticisi tarafından ayrılan bir bellek bloğunun ayrılmış boyutunu almak için bu yöntemi çağırın.
CCRTHeap::Reallocate Bu bellek yöneticisi tarafından ayrılan belleği yeniden dağıtmak için bu yöntemi çağır.

Açıklamalar

CCRTHeapmalloc, free, realloc ve _msize gibi CRT yığın işlevlerini kullanarak bellek ayırma işlevlerini uygular.

Örnek

IAtlMemMgr örneğine bakın.

Devralma Hiyerarşisi

IAtlMemMgr

CCRTHeap

Gereksinimler

Üst bilgi: atlmem.h

CCRTHeap::Allocate

Bir bellek bloğu ayırmak için bu yöntemi çağırın.

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

Parametreler

nBayt
Yeni bellek bloğunda istenen bayt sayısı.

İade Değeri

Yeni ayrılan bellek bloğunun başlangıcına bir işaretçi döndürür.

Açıklamalar

Bu yöntem tarafından ayrılan belleği boşaltmak için CCRTHeap::Free veya CCRTHeap::Reallocate öğesini çağırın.

Malloc kullanılarak uygulanır.

CCRTHeap::Ücretsiz

Bu bellek yöneticisi tarafından ayrılan bir bellek bloğunu boşaltmak için bu yöntemi çağırın.

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

Parametreler

P
Bu bellek yöneticisi tarafından daha önce ayrılan belleğe işaretçi. NULL geçerli bir değerdir ve hiçbir şey yapmaz.

Açıklamalar

Ücretsiz kullanılarak uygulanır.

CCRTHeap::GetSize

Bu bellek yöneticisi tarafından ayrılan bir bellek bloğunun ayrılmış boyutunu almak için bu yöntemi çağırın.

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

Parametreler

P
Bu bellek yöneticisi tarafından daha önce ayrılan belleğe işaretçi.

İade Değeri

Ayrılan bellek bloğunun boyutunu bayt cinsinden döndürür.

Açıklamalar

_msize kullanılarak uygulanır.

CCRTHeap::Reallocate

Bu bellek yöneticisi tarafından ayrılan belleği yeniden dağıtmak için bu yöntemi çağır.

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

Parametreler

P
Bu bellek yöneticisi tarafından daha önce ayrılan belleğe işaretçi.

nBayt
Yeni bellek bloğunda istenen bayt sayısı.

İade Değeri

Yeni ayrılan bellek bloğunun başlangıcına bir işaretçi döndürür.

Açıklamalar

Bu yöntem tarafından ayrılan belleği boşaltmak için CCRTHeap::Free öğesini çağırın. Realloc kullanılarak uygulanır.

Ayrıca bkz.

Sınıfa Genel Bakış
CComHeap Sınıfı
CWin32Heap Sınıfı
CLocalHeap Sınıfı
CGlobalHeap Sınıfı
IAtlMemMgr Sınıfı