Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Opmerking
De ATL (Active Template Library) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.
Een slimme aanwijzerklasse voor het beheren van heap-pointers.
Belangrijk
Deze klasse en de bijbehorende leden kunnen niet worden gebruikt in toepassingen die worden uitgevoerd in Windows Runtime.
Syntaxis
template<typename T, class Allocator=CCRTAllocator>
class CHeapPtr : public CHeapPtrBase<T, Allocator>
Parameterwaarden
T
Het objecttype dat moet worden opgeslagen op de heap.
Allocator
De geheugentoewijzingsklasse die moet worden gebruikt.
Leden
Openbare constructors
| Naam | Description |
|---|---|
| CHeapPtr::CHeapPtr | De constructor. |
Openbare methoden
| Naam | Description |
|---|---|
| CHeapPtr::Toewijzen | Roep deze methode aan om geheugen toe te wijzen aan de heap om objecten op te slaan. |
| CHeapPtr::Reallocate | Roep deze methode aan om het geheugen op de heap opnieuw toe te staan. |
Openbare operators
| Naam | Description |
|---|---|
| CHeapPtr::operator = | De toewijzingsoperator. |
Opmerkingen
CHeapPtr is afgeleid van CHeapPtrBase en maakt standaard gebruik van de CRT-routines (in CCRTAllocator) om geheugen toe te wijzen en vrij te maken. De klasse CHeapPtrList kan worden gebruikt om een lijst met heap-aanwijzers te maken. Zie ook CComHeapPtr, die com geheugentoewijzing routines gebruikt.
Overnamehiƫrarchie
CHeapPtr
Requirements
Header: atlcore.h
CHeapPtr::Toewijzen
Roep deze methode aan om geheugen toe te wijzen aan de heap om objecten op te slaan.
bool Allocate(size_t nElements = 1) throw();
Parameterwaarden
nElements
Het aantal elementen dat wordt gebruikt om de hoeveelheid geheugen te berekenen die moet worden toegewezen. De standaardwaarde is 1.
Retourwaarde
Retourneert waar als het geheugen is toegewezen, onwaar bij fout.
Opmerkingen
De allocator-routines worden gebruikt om voldoende geheugen op de heap te reserveren voor het opslaan van nElement-objecten van een type dat is gedefinieerd in de constructor.
Example
// Create a new CHeapPtr object
CHeapPtr <int> myHP;
// Allocate space for 10 integers on the heap
myHP.Allocate(10);
CHeapPtr::CHeapPtr
De constructor.
CHeapPtr() throw();
explicit CHeapPtr(T* p) throw();
CHeapPtr(CHeapPtr<T, Allocator>& p) throw();
Parameterwaarden
p
Een bestaande heapaanwijzer of CHeapPtr.
Opmerkingen
De heap-aanwijzer kan eventueel worden gemaakt met behulp van een bestaande aanwijzer of een CHeapPtr object. Zo ja, dan neemt het nieuwe CHeapPtr object de verantwoordelijkheid voor het beheren van de nieuwe aanwijzer en resources.
Example
// Create a new CHeapPtr object
CHeapPtr <int> myHP;
// Create a new CHeapPtr from the first
CHeapPtr <int> myHP2(myHP);
CHeapPtr::operator =
Toewijzingsoperator.
CHeapPtr<T, Allocator>& operator=(
CHeapPtr<T, Allocator>& p) throw();
Parameterwaarden
p
Een bestaand CHeapPtr object.
Retourwaarde
Retourneert een verwijzing naar de bijgewerkte CHeapPtr.
Example
// 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
Roep deze methode aan om het geheugen op de heap opnieuw toe te staan.
bool Reallocate(size_t nElements) throw();
Parameterwaarden
nElements
Het nieuwe aantal elementen dat wordt gebruikt om de hoeveelheid geheugen te berekenen die moet worden toegewezen.
Retourwaarde
Retourneert waar als het geheugen is toegewezen, onwaar bij fout.
Example
// 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);
Zie ook
CHeapPtrBase-klasse
CCRTAllocator-klasse
Overzicht van klassen