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.
Klasa
Ta klasa stanowi podstawę kilku inteligentnych klas wskaźników 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 <class T, class Allocator = CCRTAllocator>
class CHeapPtrBase
Parametry
T
Typ obiektu, który ma być przechowywany na stercie.
Allocator
Klasa alokacji pamięci do użycia. Domyślnie procedury CRT są używane do przydzielania i zwalniania pamięci.
Elementy członkowskie
Konstruktory publiczne
| Nazwa/nazwisko | opis |
|---|---|
CHeapPtrBase::~CHeapPtrBase |
Destruktora. |
Metody publiczne
| Nazwa/nazwisko | opis |
|---|---|
CHeapPtrBase::AllocateBytes |
Wywołaj tę metodę, aby przydzielić pamięć. |
CHeapPtrBase::Attach |
Wywołaj tę metodę, aby przejąć własność istniejącego wskaźnika. |
CHeapPtrBase::Detach |
Wywołaj tę metodę, aby zwolnić własność wskaźnika. |
CHeapPtrBase::Free |
Wywołaj tę metodę, aby usunąć obiekt wskazywany przez CHeapPtrBaseobiekt . |
CHeapPtrBase::ReallocateBytes |
Wywołaj tę metodę, aby ponownie przydzielić pamięć. |
Operatory publiczne
| Nazwa/nazwisko | opis |
|---|---|
CHeapPtrBase::operator T* |
Operator rzutowania. |
CHeapPtrBase::operator & |
Operator &. |
CHeapPtrBase::operator -> |
Operator wskaźnika do elementu członkowskiego. |
Elementy członkowskie danych publicznych
| Nazwa/nazwisko | opis |
|---|---|
CHeapPtrBase::m_pData |
Zmienna składowa danych wskaźnika. |
Uwagi
Ta klasa stanowi podstawę kilku inteligentnych klas wskaźników stert. Klasy pochodne, na przykład CHeapPtr i CComHeapPtr, dodają własne konstruktory i operatory. Zobacz te klasy, aby zapoznać się z przykładami implementacji.
Wymagania
Nagłówek: atlcore.h
CHeapPtrBase::AllocateBytes
Wywołaj tę metodę, aby przydzielić pamięć.
bool AllocateBytes(size_t nBytes) throw();
Parametry
nBytes
Liczba bajtów pamięci do przydzielenia.
Wartość zwracana
Zwraca wartość true, jeśli pamięć została pomyślnie przydzielona, w przeciwnym razie wartość false.
Uwagi
W kompilacjach debugowania wystąpi błąd asercji, jeśli CHeapPtrBase::m_pData zmienna składowa aktualnie wskazuje istniejącą wartość, czyli nie jest równa null.
CHeapPtrBase::Attach
Wywołaj tę metodę, aby przejąć własność istniejącego wskaźnika.
void Attach(T* pData) throw();
Parametry
pData
Obiekt CHeapPtrBase przejmie na własność ten wskaźnik.
Uwagi
CHeapPtrBase Gdy obiekt przejmuje własność wskaźnika, automatycznie usunie wskaźnik i wszystkie przydzielone dane, gdy wyjdą poza zakres.
W kompilacjach debugowania wystąpi błąd asercji, jeśli CHeapPtrBase::m_pData zmienna składowa aktualnie wskazuje istniejącą wartość, czyli nie jest równa null.
CHeapPtrBase::~CHeapPtrBase
Destruktora.
~CHeapPtrBase() throw();
Uwagi
Zwalnia wszystkie przydzielone zasoby.
CHeapPtrBase::Detach
Wywołaj tę metodę, aby zwolnić własność wskaźnika.
T* Detach() throw();
Wartość zwracana
Zwraca kopię wskaźnika.
Uwagi
Zwalnia własność wskaźnika, ustawia CHeapPtrBase::m_pData zmienną składową na wartość NULL i zwraca kopię wskaźnika.
CHeapPtrBase::Free
Wywołaj tę metodę, aby usunąć obiekt wskazywany przez CHeapPtrBaseobiekt .
void Free() throw();
Uwagi
Obiekt wskazywany przez CHeapPtrBase obiekt jest zwalniany, a zmienna CHeapPtrBase::m_pData składowa jest ustawiona na wartość NULL.
CHeapPtrBase::m_pData
Zmienna składowa danych wskaźnika.
T* m_pData;
Uwagi
Ta zmienna składowa przechowuje informacje o wskaźniku.
CHeapPtrBase::operator &
Operator &.
T** operator&() throw();
Wartość zwracana
Zwraca adres obiektu wskazywanego CHeapPtrBase przez obiekt.
CHeapPtrBase::operator ->
Operator wskaźnika do elementu członkowskiego.
T* operator->() const throw();
Wartość zwracana
Zwraca wartość zmiennej składowej CHeapPtrBase::m_pData .
Uwagi
Użyj tego operatora, aby wywołać metodę w klasie wskazywanej CHeapPtrBase przez obiekt. W kompilacjach debugowania wystąpi błąd asercji, jeśli CHeapPtrBase wskazuje wartość NULL.
CHeapPtrBase::operator T*
Operator rzutowania.
operator T*() const throw();
Uwagi
Zwraca wartość CHeapPtrBase::m_pData.
CHeapPtrBase::ReallocateBytes
Wywołaj tę metodę, aby ponownie przydzielić pamięć.
bool ReallocateBytes(size_t nBytes) throw();
Parametry
nBytes
Nowa ilość pamięci do przydzielenia w bajtach.
Wartość zwracana
Zwraca wartość true, jeśli pamięć została pomyślnie przydzielona, w przeciwnym razie wartość false.
Zobacz też
Klasa CHeapPtr
Klasa CComHeapPtr
Omówienie klasy