Aracılığıyla paylaş


CHeapPtrBase sınıfı

Bu sınıf, birkaç akıllı yığın işaretçisi sınıfı için temel oluşturur.

Önemli

Bu sınıf ve üyeleri Windows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz.

Sözdizimi

template <class T, class Allocator = CCRTAllocator>
class CHeapPtrBase

Parametreler

T
Yığında depolanacak nesne türü.

Allocator
Kullanılacak bellek ayırma sınıfı. Varsayılan olarak CRT yordamları bellek ayırmak ve boşaltmak için kullanılır.

Üyeler

Ortak oluşturucular

Veri Akışı Adı Açıklama
CHeapPtrBase::~CHeapPtrBase Yok edici.

Genel yöntemler

Veri Akışı Adı Açıklama
CHeapPtrBase::AllocateBytes Bellek ayırmak için bu yöntemi çağır.
CHeapPtrBase::Attach Mevcut bir işaretçinin sahipliğini almak için bu yöntemi çağırın.
CHeapPtrBase::Detach Bir işaretçinin sahipliğini serbest bırakmak için bu yöntemi çağırın.
CHeapPtrBase::Free tarafından CHeapPtrBaseişaret edilen bir nesneyi silmek için bu yöntemi çağır.
CHeapPtrBase::ReallocateBytes Belleği yeniden dağıtmak için bu yöntemi çağır.

Genel işleçler

Veri Akışı Adı Açıklama
CHeapPtrBase::operator T* Atama işleci.
CHeapPtrBase::operator & & işleci.
CHeapPtrBase::operator -> İşaretçiden üyeye işleci.

Genel veri üyeleri

Veri Akışı Adı Açıklama
CHeapPtrBase::m_pData İşaretçi veri üye değişkeni.

Açıklamalar

Bu sınıf, birkaç akıllı yığın işaretçisi sınıfı için temel oluşturur. Türetilmiş sınıflar, örneğin CHeapPtr ve CComHeapPtrkendi oluşturucularını ve işleçlerini ekler. Uygulama örnekleri için bu sınıflara bakın.

Gereksinimler

Üst bilgi: atlcore.h

CHeapPtrBase::AllocateBytes

Bellek ayırmak için bu yöntemi çağır.

bool AllocateBytes(size_t nBytes) throw();

Parametreler

nBytes
Ayrılacak bellek bayt sayısı.

Dönüş değeri

Bellek başarıyla ayrılırsa true, aksi takdirde false döndürür.

Açıklamalar

Hata ayıklama derlemelerinde, üye değişkeni şu anda mevcut bir değere işaret ederse CHeapPtrBase::m_pData , yani NULL'a eşit değilse bir onaylama hatası oluşur.

CHeapPtrBase::Attach

Mevcut bir işaretçinin sahipliğini almak için bu yöntemi çağırın.

void Attach(T* pData) throw();

Parametreler

pData
CHeapPtrBase Nesnesi bu işaretçinin sahipliğini alır.

Açıklamalar

Bir CHeapPtrBase nesne işaretçinin sahipliğini aldığında, kapsam dışına çıktığında işaretçiyi ve ayrılan verileri otomatik olarak siler.

Hata ayıklama derlemelerinde, üye değişkeni şu anda mevcut bir değere işaret ederse CHeapPtrBase::m_pData , yani NULL'a eşit değilse bir onaylama hatası oluşur.

CHeapPtrBase::~CHeapPtrBase

Yok edici.

~CHeapPtrBase() throw();

Açıklamalar

Ayrılan tüm kaynakları serbesttir.

CHeapPtrBase::Detach

Bir işaretçinin sahipliğini serbest bırakmak için bu yöntemi çağırın.

T* Detach() throw();

Dönüş değeri

İşaretçinin bir kopyasını döndürür.

Açıklamalar

bir işaretçinin sahipliğini serbest bırakır, üye değişkenini CHeapPtrBase::m_pData NULL olarak ayarlar ve işaretçinin bir kopyasını döndürür.

CHeapPtrBase::Free

tarafından CHeapPtrBaseişaret edilen bir nesneyi silmek için bu yöntemi çağır.

void Free() throw();

Açıklamalar

tarafından CHeapPtrBase işaret edilen nesne serbesttir ve CHeapPtrBase::m_pData üye değişkeni NULL olarak ayarlanır.

CHeapPtrBase::m_pData

İşaretçi veri üye değişkeni.

T* m_pData;

Açıklamalar

Bu üye değişkeni işaretçi bilgilerini tutar.

CHeapPtrBase::operator &

& işleci.

T** operator&() throw();

Dönüş değeri

Nesnenin işaret ettiği nesnenin CHeapPtrBase adresini döndürür.

CHeapPtrBase::operator ->

İşaretçiden üyeye işleci.

T* operator->() const throw();

Dönüş değeri

Üye değişkeninin CHeapPtrBase::m_pData değerini döndürür.

Açıklamalar

Nesne tarafından CHeapPtrBase işaret edilen bir sınıftaki bir yöntemi çağırmak için bu işleci kullanın. Hata ayıklama derlemelerinde, NULL'a işaret ederse CHeapPtrBase onay hatası oluşur.

CHeapPtrBase::operator T*

Atama işleci.

operator T*() const throw();

Açıklamalar

CHeapPtrBase::m_pData döndürür.

CHeapPtrBase::ReallocateBytes

Belleği yeniden dağıtmak için bu yöntemi çağır.

bool ReallocateBytes(size_t nBytes) throw();

Parametreler

nBytes
Bayt cinsinden ayrılacak yeni bellek miktarı.

Dönüş değeri

Bellek başarıyla ayrılırsa true, aksi takdirde false döndürür.

Ayrıca bkz.

CHeapPtr sınıfı
CComHeapPtr sınıfı
Sınıfa genel bakış