Compartilhar via


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 Devolução

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 Devolução

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 Devolução

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 classe
Classe CComHeap
Classe CWin32Heap
Classe CLocalHeap
Classe CGlobalHeap
Classe IAtlMemMgr