Partage via


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