다음을 통해 공유


CCRTHeap 클래스

이 클래스는 CRT 힙 함수를 사용하여 IAtlMemMgr 을 구현합니다.

구문

class CCRTHeap : public IAtlMemMgr

멤버

공용 메서드

이름 설명
CCRTHeap::Allocate 메모리 블록을 할당하려면 이 메서드를 호출합니다.
CCRTHeap::Free 이 메서드를 호출하여 이 메모리 관리자가 할당한 메모리 블록을 해제합니다.
CCRTHeap::GetSize 이 메서드를 호출하여 이 메모리 관리자가 할당한 메모리 블록의 할당된 크기를 가져옵니다.
CCRTHeap::재할당 이 메모리 관리자에 의해 할당된 메모리를 다시 할당하려면 이 메서드를 호출합니다.

설명

CCRTHeap는 malloc, free, realloc 및 _msize 포함하여 CRT 힙 함수를 사용하여 메모리 할당 함수를 구현합니다.

예시

IAtlMemMgr에 대한 예제를 참조하세요.

상속 계층 구조

IAtlMemMgr

CCRTHeap

요구 사항

헤더: atlmem.h

CCRTHeap::Allocate

메모리 블록을 할당하려면 이 메서드를 호출합니다.

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

매개 변수

nBytes
새 메모리 블록의 요청된 바이트 수입니다.

Return Value

새로 할당된 메모리 블록의 시작 부분에 대한 포인터를 반환합니다.

설명

CCRTHeap::Free 또는 CCRTHeap::Reallocate를 호출하여 이 메서드에서 할당한 메모리를 해제합니다.

malloc를 사용하여 구현됩니다.

CCRTHeap::Free

이 메서드를 호출하여 이 메모리 관리자가 할당한 메모리 블록을 해제합니다.

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

매개 변수

p
이 메모리 관리자에 의해 이전에 할당된 메모리에 대한 포인터입니다. NULL은 유효한 값이며 아무 작업도 수행하지 않습니다.

설명

무료를 사용하여 구현됩니다.

CCRTHeap::GetSize

이 메서드를 호출하여 이 메모리 관리자가 할당한 메모리 블록의 할당된 크기를 가져옵니다.

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

매개 변수

p
이 메모리 관리자에 의해 이전에 할당된 메모리에 대한 포인터입니다.

Return Value

할당된 메모리 블록의 크기를 바이트 단위로 반환합니다.

설명

_msize 사용하여 구현됩니다.

CCRTHeap::재할당

이 메모리 관리자에 의해 할당된 메모리를 다시 할당하려면 이 메서드를 호출합니다.

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

매개 변수

p
이 메모리 관리자에 의해 이전에 할당된 메모리에 대한 포인터입니다.

nBytes
새 메모리 블록의 요청된 바이트 수입니다.

Return Value

새로 할당된 메모리 블록의 시작 부분에 대한 포인터를 반환합니다.

설명

CCRTHeap::Free를 호출하여 이 메서드에서 할당한 메모리를 해제합니다. 재할당을 사용하여 구현됩니다.

참고 항목

클래스 개요
CComHeap 클래스
CWin32Heap 클래스
CLocalHeap 클래스
CGlobalHeap 클래스
IAtlMemMgr 클래스