Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
A Active Template Library (ATL) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.
Uma classe de pointer inteligente para gerir apontadores de heap.
Importante
Esta classe e os seus membros não podem ser usados em aplicações que sejam executadas no Windows Runtime.
Sintaxe
template<typename T, class Allocator=CCRTAllocator>
class CHeapPtr : public CHeapPtrBase<T, Allocator>
Parâmetros
T
O tipo de objeto a ser armazenado no heap.
Alocador
A classe de alocação de memória a usar.
Membros
Construtores Públicos
| Nome | Description |
|---|---|
| CHeapPtr::CHeapPtr | O construtor. |
Métodos Públicos
| Nome | Description |
|---|---|
| CHeapPtr::Alocar | Chame este método para alocar memória no heap para armazenar objetos. |
| CHeapPtr::Realocar | Chame este método para realocar a memória no heap. |
Operadores Públicos
| Nome | Description |
|---|---|
| CHeapPtr::operator = | O operador de atribuição. |
Observações
CHeapPtr deriva do CHeapPtrBase e, por defeito, utiliza as rotinas CRT (no CCRTAllocator) para alocar e libertar memória. A classe CHeapPtrList pode ser usada para construir uma lista de ponteiros de heap. Ver também CComHeapPtr, que utiliza rotinas de alocação de memória COM.
Hierarquia de herança
CHeapPtr
Requerimentos
Cabeçalho: atlcore.h
CHeapPtr::Alocar
Chame este método para alocar memória no heap para armazenar objetos.
bool Allocate(size_t nElements = 1) throw();
Parâmetros
nElementos
O número de elementos usados para calcular a quantidade de memória a alocar. O valor padrão é 1.
Valor de retorno
Retorna true se a memória foi alocada com sucesso, false em caso de falha.
Observações
As rotinas do alocador são usadas para reservar memória suficiente no heap para armazenar objetos nElement de um tipo definido no construtor.
Example
// Create a new CHeapPtr object
CHeapPtr <int> myHP;
// Allocate space for 10 integers on the heap
myHP.Allocate(10);
CHeapPtr::CHeapPtr
O construtor.
CHeapPtr() throw();
explicit CHeapPtr(T* p) throw();
CHeapPtr(CHeapPtr<T, Allocator>& p) throw();
Parâmetros
p
Um ponteiro de heap existente ou CHeapPtr.
Observações
O ponteiro de heap pode ser criado opcionalmente usando um ponteiro existente ou um CHeapPtr objeto. Se sim, o novo CHeapPtr objeto assume a responsabilidade pela gestão do novo ponteiro e dos recursos.
Example
// Create a new CHeapPtr object
CHeapPtr <int> myHP;
// Create a new CHeapPtr from the first
CHeapPtr <int> myHP2(myHP);
CHeapPtr::operator =
Operador de atribuição.
CHeapPtr<T, Allocator>& operator=(
CHeapPtr<T, Allocator>& p) throw();
Parâmetros
p
Um objeto existente CHeapPtr .
Valor de retorno
Retorna uma referência ao arquivo atualizado CHeapPtrde .
Example
// Create a new CHeapPtr object
CHeapPtr <int> myHP;
// Allocate space for 10 integers on the heap
myHP.Allocate(10);
// Create a second heap pointer
// and assign it to the first pointer.
CHeapPtr <int> myHP2;
myHP2 = myHP;
CHeapPtr::Realocar
Chame este método para realocar a memória no heap.
bool Reallocate(size_t nElements) throw();
Parâmetros
nElementos
O novo número de elementos é usado para calcular a quantidade de memória a alocar.
Valor de retorno
Retorna true se a memória foi alocada com sucesso, false em caso de falha.
Example
// Create a new CHeapPtr object
CHeapPtr <int> myHP;
// Allocate space for 10 integers on the heap
myHP.Allocate(10);
// Resize the allocated memory for 20 integers
myHP.Reallocate(20);
Consulte também
Classe CHeapPtrBase
Classe CCRTAllocator
Visão geral da classe