Classe CHeapPtrBase
Cette classe constitue la base de plusieurs classes de pointeur de tas intelligents.
Important
Cette classe et ses membres ne peuvent pas être utilisés dans les applications qui s’exécutent dans Windows Runtime.
Syntaxe
template <class T, class Allocator = CCRTAllocator>
class CHeapPtrBase
Paramètres
T
Type d’objet à stocker sur le tas.
Allocator
Classe d’allocation de mémoire à utiliser. Par défaut, les routines CRT sont utilisées pour allouer et libérer de la mémoire.
Membres
Constructeurs publics
Nom | Description |
---|---|
CHeapPtrBase::~CHeapPtrBase |
Destructeur. |
Méthodes publiques
Nom | Description |
---|---|
CHeapPtrBase::AllocateBytes |
Appelez cette méthode pour allouer de la mémoire. |
CHeapPtrBase::Attach |
Appelez cette méthode pour prendre possession d’un pointeur existant. |
CHeapPtrBase::Detach |
Appelez cette méthode pour libérer la propriété d’un pointeur. |
CHeapPtrBase::Free |
Appelez cette méthode pour supprimer un objet pointé par un CHeapPtrBase . |
CHeapPtrBase::ReallocateBytes |
Appelez cette méthode pour réallouer la mémoire. |
Opérateurs publics
Nom | Description |
---|---|
CHeapPtrBase::operator T* |
Opérateur de cast. |
CHeapPtrBase::operator & |
Opérateur &. |
CHeapPtrBase::operator -> |
Opérateur pointeur à membre. |
Membres de données publiques
Nom | Description |
---|---|
CHeapPtrBase::m_pData |
Variable membre de données du pointeur. |
Notes
Cette classe constitue la base de plusieurs classes de pointeur de tas intelligents. Les classes dérivées, par exemple, CHeapPtr
et CComHeapPtr
, ajoutent leurs propres constructeurs et opérateurs. Consultez ces classes pour obtenir des exemples d’implémentation.
Spécifications
En-tête : atlcore.h
CHeapPtrBase::AllocateBytes
Appelez cette méthode pour allouer de la mémoire.
bool AllocateBytes(size_t nBytes) throw();
Paramètres
nBytes
Nombre d’octets de mémoire à allouer.
Valeur retournée
Retourne true si la mémoire est correctement allouée, false dans le cas contraire.
Notes
Dans les builds de débogage, une défaillance d’assertion se produit si la CHeapPtrBase::m_pData
variable membre pointe actuellement vers une valeur existante ; autrement dit, elle n’est pas égale à NULL.
CHeapPtrBase::Attach
Appelez cette méthode pour prendre possession d’un pointeur existant.
void Attach(T* pData) throw();
Paramètres
pData
L’objet CHeapPtrBase
prend possession de ce pointeur.
Notes
Lorsqu’un CHeapPtrBase
objet prend possession d’un pointeur, il supprime automatiquement le pointeur et toutes les données allouées lorsqu’il sort de l’étendue.
Dans les builds de débogage, une défaillance d’assertion se produit si la CHeapPtrBase::m_pData
variable membre pointe actuellement vers une valeur existante ; autrement dit, elle n’est pas égale à NULL.
CHeapPtrBase::~CHeapPtrBase
Destructeur.
~CHeapPtrBase() throw();
Notes
Libère toutes les ressources allouées.
CHeapPtrBase::Detach
Appelez cette méthode pour libérer la propriété d’un pointeur.
T* Detach() throw();
Valeur retournée
Retourne une copie du pointeur.
Notes
Libère la propriété d’un pointeur, définit la CHeapPtrBase::m_pData
variable membre sur NULL et retourne une copie du pointeur.
CHeapPtrBase::Free
Appelez cette méthode pour supprimer un objet pointé par un CHeapPtrBase
.
void Free() throw();
Notes
L’objet pointé par l’objet CHeapPtrBase
est libéré et la CHeapPtrBase::m_pData
variable membre a la valeur NULL.
CHeapPtrBase::m_pData
Variable membre de données du pointeur.
T* m_pData;
Notes
Cette variable membre contient les informations de pointeur.
CHeapPtrBase::operator &
Opérateur &.
T** operator&() throw();
Valeur retournée
Retourne l’adresse de l’objet pointé vers l’objet CHeapPtrBase
.
CHeapPtrBase::operator ->
Opérateur pointeur à membre.
T* operator->() const throw();
Valeur retournée
Retourne la valeur de la CHeapPtrBase::m_pData
variable membre.
Notes
Utilisez cet opérateur pour appeler une méthode dans une classe pointée par l’objet CHeapPtrBase
. Dans les builds de débogage, une défaillance d’assertion se produit si les CHeapPtrBase
points ont la valeur NULL.
CHeapPtrBase::operator T*
Opérateur de cast.
operator T*() const throw();
Notes
Retourne CHeapPtrBase::m_pData
.
CHeapPtrBase::ReallocateBytes
Appelez cette méthode pour réallouer la mémoire.
bool ReallocateBytes(size_t nBytes) throw();
Paramètres
nBytes
Nouvelle quantité de mémoire à allouer, en octets.
Valeur retournée
Retourne true si la mémoire est correctement allouée, false dans le cas contraire.
Voir aussi
CHeapPtr
, classe
CComHeapPtr
, classe
Vue d’ensemble de la classe