Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Inteligentna klasa wskaźnika do zarządzania wskaźnikami stert.
Ważne
Tej klasy i jej składowych nie można używać w aplikacjach wykonywanych w środowisko wykonawcze systemu Windows.
Składnia
template<typename T, class Allocator=CCRTAllocator>
class CHeapPtr : public CHeapPtrBase<T, Allocator>
Parametry
T
Typ obiektu, który ma być przechowywany na stercie.
Programu przydzielania
Klasa alokacji pamięci do użycia.
Elementy członkowskie
Konstruktory publiczne
| Nazwa/nazwisko | opis |
|---|---|
| CHeapPtr::CHeapPtr | Konstruktor. |
Metody publiczne
| Nazwa/nazwisko | opis |
|---|---|
| CHeapPtr::Przydziel | Wywołaj tę metodę, aby przydzielić pamięć na stercie do przechowywania obiektów. |
| CHeapPtr::Reallocate | Wywołaj tę metodę, aby ponownie przydzielić pamięć na stercie. |
Operatory publiczne
| Nazwa/nazwisko | opis |
|---|---|
| CHeapPtr::operator = | Operator przypisania. |
Uwagi
CHeapPtr pochodzi z CHeapPtrBase i domyślnie używa procedur CRT (w ccRTAllocator) do przydzielania i zwalniania pamięci. Klasa CHeapPtrList może służyć do konstruowania listy wskaźników sterty. Zobacz również CComHeapPtr, który używa procedur alokacji pamięci COM.
Hierarchia dziedziczenia
CHeapPtr
Wymagania
Nagłówek: atlcore.h
CHeapPtr::Przydziel
Wywołaj tę metodę, aby przydzielić pamięć na stercie do przechowywania obiektów.
bool Allocate(size_t nElements = 1) throw();
Parametry
nElements
Liczba elementów używanych do obliczenia ilości pamięci do przydzielenia. Domyślna wartość wynosi 1.
Wartość zwracana
Zwraca wartość true, jeśli pamięć została pomyślnie przydzielona, wartość false w przypadku awarii.
Uwagi
Procedury alokatora służą do rezerwowania wystarczającej ilości pamięci na stercie do przechowywania obiektów nElement typu zdefiniowanego w konstruktorze.
Przykład
// Create a new CHeapPtr object
CHeapPtr <int> myHP;
// Allocate space for 10 integers on the heap
myHP.Allocate(10);
CHeapPtr::CHeapPtr
Konstruktor.
CHeapPtr() throw();
explicit CHeapPtr(T* p) throw();
CHeapPtr(CHeapPtr<T, Allocator>& p) throw();
Parametry
p
Istniejący wskaźnik stertowy lub CHeapPtr.
Uwagi
Wskaźnik sterty można opcjonalnie utworzyć przy użyciu istniejącego CHeapPtr wskaźnika lub obiektu. Jeśli tak, nowy CHeapPtr obiekt przejmuje odpowiedzialność za zarządzanie nowym wskaźnikiem i zasobami.
Przykład
// Create a new CHeapPtr object
CHeapPtr <int> myHP;
// Create a new CHeapPtr from the first
CHeapPtr <int> myHP2(myHP);
CHeapPtr::operator =
Operator przypisania.
CHeapPtr<T, Allocator>& operator=(
CHeapPtr<T, Allocator>& p) throw();
Parametry
p
Istniejący CHeapPtr obiekt.
Wartość zwracana
Zwraca odwołanie do zaktualizowanego CHeapPtr.
Przykład
// 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
Wywołaj tę metodę, aby ponownie przydzielić pamięć na stercie.
bool Reallocate(size_t nElements) throw();
Parametry
nElements
Nowa liczba elementów używanych do obliczenia ilości pamięci do przydzielenia.
Wartość zwracana
Zwraca wartość true, jeśli pamięć została pomyślnie przydzielona, wartość false w przypadku awarii.
Przykład
// 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);