Clase CHeapPtrBase
Esta clase es la base de varias clases de puntero de montón inteligente.
Importante
Esta clase y sus miembros no se pueden usar en las aplicaciones que se ejecutan en Windows Runtime.
Sintaxis
template <class T, class Allocator = CCRTAllocator>
class CHeapPtrBase
Parámetros
T
El tipo de objeto que se va a almacenar en el montón.
Allocator
La clase de asignación de memoria que se va a usar. De forma predeterminada, las rutinas de CRT se usan para asignar y liberar memoria.
Miembros
Constructores públicos
Nombre | Descripción |
---|---|
CHeapPtrBase::~CHeapPtrBase |
El destructor . |
Métodos públicos
Nombre | Descripción |
---|---|
CHeapPtrBase::AllocateBytes |
Llame a este método para asignar memoria. |
CHeapPtrBase::Attach |
Llame a este método para asumir la propiedad de un puntero existente. |
CHeapPtrBase::Detach |
Llame a este método para liberar la propiedad de un puntero. |
CHeapPtrBase::Free |
Llame a este método para eliminar un objeto al que CHeapPtrBase apunta. |
CHeapPtrBase::ReallocateBytes |
Llame a este método para reasignar memoria. |
Operadores públicos
Nombre | Descripción |
---|---|
CHeapPtrBase::operator T* |
El operador de conversión. |
CHeapPtrBase::operator & |
Operador & . |
CHeapPtrBase::operator -> |
Operador de puntero a miembro. |
Miembros de datos públicos
Nombre | Descripción |
---|---|
CHeapPtrBase::m_pData |
Variable de miembro de datos del puntero. |
Comentarios
Esta clase es la base de varias clases de puntero de montón inteligente. Las clases derivadas como, por ejemplo, CHeapPtr
y CComHeapPtr
, agregan sus propios constructores y operadores. Consulte estas clases para ver ejemplos de implementación.
Requisitos
Encabezado: atlcore.h
CHeapPtrBase::AllocateBytes
Llame a este método para asignar memoria.
bool AllocateBytes(size_t nBytes) throw();
Parámetros
nBytes
El número de bytes de memoria a asignar.
Valor devuelto
Devuelve true si la memoria se asigna con éxito; de lo contrario, false.
Comentarios
En las compilaciones de depuración, se producirá un error de aserción si la variable miembro CHeapPtrBase::m_pData
ya apunta a un valor existente, es decir, no es igual a NULL.
CHeapPtrBase::Attach
Llame a este método para asumir la propiedad de un puntero existente.
void Attach(T* pData) throw();
Parámetros
pData
El objeto CHeapPtrBase
asumirá la propiedad de este puntero.
Comentarios
Cuando un objeto CHeapPtrBase
asume la propiedad de un puntero, eliminará automáticamente el puntero y los datos asignados cuando salgan del ámbito.
En las compilaciones de depuración, se producirá un error de aserción si la variable miembro CHeapPtrBase::m_pData
ya apunta a un valor existente, es decir, no es igual a NULL.
CHeapPtrBase::~CHeapPtrBase
El destructor .
~CHeapPtrBase() throw();
Comentarios
Libera todos los recursos asignados.
CHeapPtrBase::Detach
Llame a este método para liberar la propiedad de un puntero.
T* Detach() throw();
Valor devuelto
Devuelve una copia del puntero.
Comentarios
Libera la propiedad de un puntero, establece la variable miembro CHeapPtrBase::m_pData
en NULL y devuelve una copia del puntero.
CHeapPtrBase::Free
Llame a este método para eliminar un objeto al que CHeapPtrBase
apunta.
void Free() throw();
Comentarios
El objeto al que señala CHeapPtrBase
está liberado y la variable miembro CHeapPtrBase::m_pData
se establece en NULL.
CHeapPtrBase::m_pData
Variable de miembro de datos del puntero.
T* m_pData;
Comentarios
Esta variable miembro contiene la información del puntero.
CHeapPtrBase::operator &
Operador & .
T** operator&() throw();
Valor devuelto
Devuelve la dirección del objeto al que apunta el objeto CHeapPtrBase
.
CHeapPtrBase::operator ->
Operador de puntero a miembro.
T* operator->() const throw();
Valor devuelto
Devuelve el valor de la variable miembro CHeapPtrBase::m_pData
.
Comentarios
Use este operador para llamar a un método de una clase a la que apunta el objeto CHeapPtrBase
. En las compilaciones de depuración, se producirá un error de aserción si CHeapPtrBase
apunta a NULL.
CHeapPtrBase::operator T*
El operador de conversión.
operator T*() const throw();
Comentarios
Devuelve CHeapPtrBase::m_pData
.
CHeapPtrBase::ReallocateBytes
Llame a este método para reasignar memoria.
bool ReallocateBytes(size_t nBytes) throw();
Parámetros
nBytes
La nueva cantidad de memoria que se va a asignar, en bytes.
Valor devuelto
Devuelve true si la memoria se asigna con éxito; de lo contrario, false.
Consulte también
Clase CHeapPtr
Clase CComHeapPtr
Información general de clases