Partager via


CHeapPtr, classe

Classe de pointeur intelligent pour la gestion des pointeurs de tas.

Important

Cette classe et ses membres ne peuvent pas être utilisés dans les applications qui s’exécutent dans Windows Runtime.

Syntaxe

template<typename T, class Allocator=CCRTAllocator>
class CHeapPtr : public CHeapPtrBase<T, Allocator>

Paramètres

T
Type d’objet à stocker sur le tas.

Allocator
Classe d’allocation de mémoire à utiliser.

Membres

Constructeurs publics

Nom Description
CHeapPtr ::CHeapPtr Constructeur .

Méthodes publiques

Nom Description
CHeapPtr ::Allocate Appelez cette méthode pour allouer de la mémoire sur le tas pour stocker des objets.
CHeapPtr ::Reallocate Appelez cette méthode pour réallouer la mémoire sur le tas.

Opérateurs publics

Nom Description
CHeapPtr ::operator = Opérateur d’assignation .

Notes

CHeapPtr est dérivé de CHeapPtrBase et utilise par défaut les routines CRT (dans CCRTAllocator) pour allouer et libérer de la mémoire. La classe CHeapPtrList peut être utilisée pour construire une liste de pointeurs de tas. Consultez également CComHeapPtr, qui utilise des routines d’allocation de mémoire COM.

Hiérarchie d'héritage

CHeapPtrBase

CHeapPtr

Spécifications

En-tête : atlcore.h

CHeapPtr ::Allocate

Appelez cette méthode pour allouer de la mémoire sur le tas pour stocker des objets.

bool Allocate(size_t nElements = 1) throw();

Paramètres

nElements
Nombre d’éléments utilisés pour calculer la quantité de mémoire à allouer. La valeur par défaut est 1.

Valeur de retour

Retourne true si la mémoire a été correctement allouée, false en cas d’échec.

Notes

Les routines d’allocator sont utilisées pour réserver suffisamment de mémoire sur le tas pour stocker les objets nElement d’un type défini dans le constructeur.

Exemple

// Create a new CHeapPtr object
CHeapPtr <int> myHP;
// Allocate space for 10 integers on the heap
myHP.Allocate(10);

CHeapPtr ::CHeapPtr

Constructeur .

CHeapPtr() throw();
explicit CHeapPtr(T* p) throw();
CHeapPtr(CHeapPtr<T, Allocator>& p) throw();

Paramètres

p
Pointeur de tas existant ou CHeapPtr.

Notes

Le pointeur de tas peut éventuellement être créé à l’aide d’un pointeur existant ou d’un CHeapPtr objet. Dans ce cas, le nouvel CHeapPtr objet assume la responsabilité de la gestion du nouveau pointeur et des ressources.

Exemple

// Create a new CHeapPtr object
CHeapPtr <int> myHP;
// Create a new CHeapPtr from the first
CHeapPtr <int> myHP2(myHP);   

CHeapPtr ::operator =

Opérateur d'assignation.

CHeapPtr<T, Allocator>& operator=(
    CHeapPtr<T, Allocator>& p) throw();

Paramètres

p
Objet CHeapPtr existant.

Valeur de retour

Retourne une référence à la mise à jour CHeapPtr.

Exemple

// 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 ::Reallocate

Appelez cette méthode pour réallouer la mémoire sur le tas.

bool Reallocate(size_t nElements) throw();

Paramètres

nElements
Nouveau nombre d’éléments utilisés pour calculer la quantité de mémoire à allouer.

Valeur de retour

Retourne true si la mémoire a été correctement allouée, false en cas d’échec.

Exemple

// 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);   

Voir aussi

CHeapPtrBase, classe
CCRTAllocator, classe
Vue d’ensemble de la classe