Oharra
Orrialde honetara sartzeak baimena behar du. Saioa hasteko edo direktorioak aldatzen saia zaitezke.
Orrialde honetara sartzeak baimena behar du. Direktorioak aldatzen saia zaitezke.
Clase
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