Classe CCRTHeap
Essa classe implementa IAtlMemMgr usando as funções de heap CRT.
Sintaxe
class CCRTHeap : public IAtlMemMgr
Membros
Métodos públicos
Nome | Descrição |
---|---|
CCRTHeap::Allocate | Chame esse método para alocar um bloco de memória. |
CCRTHeap::Free | Chame esse método para liberar um bloco de memória alocado por esse gerenciador de memória. |
CCRTHeap::GetSize | Chame esse método para ter o tamanho alocado de um bloco de memória alocado por esse gerenciador de memória. |
CCRTHeap::Reallocate | Chame esse método para realocar a memória alocada por esse gerenciador de memória. |
Comentários
CCRTHeap
implementa funções de alocação de memória usando as funções de heap CRT, incluindo malloc, free, realloc e _msize.
Exemplo
Consulte o exemplo de IAtlMemMgr.
Hierarquia de herança
IAtlMemMgr
CCRTHeap
Requisitos
Cabeçalho: atlmem.h
CCRTHeap::Allocate
Chame esse método para alocar um bloco de memória.
virtual __declspec(allocator) void* Allocate(size_t nBytes) throw();
Parâmetros
nBytes
O número solicitado de bytes no novo bloco de memória.
Valor de retorno
Retorna um ponteiro para o início do bloco de memória recém-alocado.
Comentários
Chame CCRTHeap::Free ou CCRTHeap::Reallocate para liberar a memória alocada por esse método.
Implementado usando malloc.
CCRTHeap::Free
Chame esse método para liberar um bloco de memória alocado por esse gerenciador de memória.
virtual void Free(void* p) throw();
Parâmetros
p
Ponteiro para a memória alocada anteriormente por esse gerenciador de memória. NULL é um valor válido e não faz nada.
Comentários
Implementado usando free.
CCRTHeap::GetSize
Chame esse método para ter o tamanho alocado de um bloco de memória alocado por esse gerenciador de memória.
virtual size_t GetSize(void* p) throw();
Parâmetros
p
Ponteiro para a memória alocada anteriormente por esse gerenciador de memória.
Valor de retorno
Retorna o tamanho do bloco de memória alocado em bytes.
Comentários
Implementado usando _msize.
CCRTHeap::Reallocate
Chame esse método para realocar a memória alocada por esse gerenciador de memória.
virtual __declspec(allocator) void* Reallocate(void* p, size_t nBytes) throw();
Parâmetros
p
Ponteiro para a memória alocada anteriormente por esse gerenciador de memória.
nBytes
O número solicitado de bytes no novo bloco de memória.
Valor de retorno
Retorna um ponteiro para o início do bloco de memória recém-alocado.
Comentários
Chame CCRTHeap::Free para liberar a memória alocada por esse método. Implementado usando realloc.
Confira também
Visão geral da aula
Classe CComHeap
Classe CWin32Heap
Classe CLocalHeap
Classe CGlobalHeap
Classe IAtlMemMgr