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.
template<typename T, class Allocator=CCRTAllocator>
class CHeapPtr : public CHeapPtrBase<T, Allocator>
T
Type d’objet à stocker sur le tas.
Allocator
Classe d’allocation de mémoire à utiliser.
Nom | Description |
---|---|
CHeapPtr ::CHeapPtr | Constructeur . |
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. |
Nom | Description |
---|---|
CHeapPtr ::operator = | Opérateur d’assignation . |
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.
CHeapPtr
En-tête : atlcore.h
Appelez cette méthode pour allouer de la mémoire sur le tas pour stocker des objets.
bool Allocate(size_t nElements = 1) throw();
nElements
Nombre d’éléments utilisés pour calculer la quantité de mémoire à allouer. La valeur par défaut est 1.
Retourne true si la mémoire a été correctement allouée, false en cas d’échec.
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.
// Create a new CHeapPtr object
CHeapPtr <int> myHP;
// Allocate space for 10 integers on the heap
myHP.Allocate(10);
Constructeur .
CHeapPtr() throw();
explicit CHeapPtr(T* p) throw();
CHeapPtr(CHeapPtr<T, Allocator>& p) throw();
p
Pointeur de tas existant ou CHeapPtr
.
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.
// Create a new CHeapPtr object
CHeapPtr <int> myHP;
// Create a new CHeapPtr from the first
CHeapPtr <int> myHP2(myHP);
Opérateur d'assignation.
CHeapPtr<T, Allocator>& operator=(
CHeapPtr<T, Allocator>& p) throw();
p
Objet CHeapPtr
existant.
Retourne une référence à la mise à jour CHeapPtr
.
// 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;
Appelez cette méthode pour réallouer la mémoire sur le tas.
bool Reallocate(size_t nElements) throw();
nElements
Nouveau nombre d’éléments utilisés pour calculer la quantité de mémoire à allouer.
Retourne true si la mémoire a été correctement allouée, false en cas d’échec.
// 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);
CHeapPtrBase, classe
CCRTAllocator, classe
Vue d’ensemble de la classe