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
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