CHeapPtrBase
kelas
Kelas ini membentuk dasar untuk beberapa kelas penunjuk timbunan pintar.
Penting
Kelas ini dan anggotanya tidak dapat digunakan dalam aplikasi yang dijalankan di Windows Runtime.
Sintaks
template <class T, class Allocator = CCRTAllocator>
class CHeapPtrBase
Parameter
T
Jenis objek yang akan disimpan pada tumpukan.
Allocator
Kelas alokasi memori yang akan digunakan. Secara default, rutinitas CRT digunakan untuk mengalokasikan dan membebaskan memori.
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
CHeapPtrBase::~CHeapPtrBase |
Destruktor. |
Metode Publik
Nama | Deskripsi |
---|---|
CHeapPtrBase::AllocateBytes |
Panggil metode ini untuk mengalokasikan memori. |
CHeapPtrBase::Attach |
Panggil metode ini untuk mengambil kepemilikan pointer yang ada. |
CHeapPtrBase::Detach |
Panggil metode ini untuk merilis kepemilikan pointer. |
CHeapPtrBase::Free |
Panggil metode ini untuk menghapus objek yang ditujukkan oleh CHeapPtrBase . |
CHeapPtrBase::ReallocateBytes |
Panggil metode ini untuk merealokasi memori. |
Operator publik
Nama | Deskripsi |
---|---|
CHeapPtrBase::operator T* |
Operator cast. |
CHeapPtrBase::operator & |
Operator &. |
CHeapPtrBase::operator -> |
Operator pointer-to-member. |
Anggota data publik
Nama | Deskripsi |
---|---|
CHeapPtrBase::m_pData |
Variabel anggota data pointer. |
Keterangan
Kelas ini membentuk dasar untuk beberapa kelas penunjuk timbunan pintar. Kelas turunan, misalnya, CHeapPtr
dan CComHeapPtr
, tambahkan konstruktor dan operator mereka sendiri. Lihat kelas-kelas ini untuk contoh implementasi.
Persyaratan
Header: atlcore.h
CHeapPtrBase::AllocateBytes
Panggil metode ini untuk mengalokasikan memori.
bool AllocateBytes(size_t nBytes) throw();
Parameter
nBytes
Jumlah byte memori yang akan dialokasikan.
Nilai hasil
Mengembalikan true jika memori berhasil dialokasikan, salah jika tidak.
Keterangan
Dalam build debug, kegagalan pernyataan akan terjadi jika CHeapPtrBase::m_pData
variabel anggota saat ini menunjuk ke nilai yang ada; artinya, itu tidak sama dengan NULL.
CHeapPtrBase::Attach
Panggil metode ini untuk mengambil kepemilikan pointer yang ada.
void Attach(T* pData) throw();
Parameter
pData
Objek CHeapPtrBase
akan mengambil kepemilikan penunjuk ini.
Keterangan
CHeapPtrBase
Ketika objek mengambil kepemilikan pointer, objek akan secara otomatis menghapus pointer dan data apa pun yang dialokasikan ketika keluar dari cakupan.
Dalam build debug, kegagalan pernyataan akan terjadi jika CHeapPtrBase::m_pData
variabel anggota saat ini menunjuk ke nilai yang ada; artinya, itu tidak sama dengan NULL.
CHeapPtrBase::~CHeapPtrBase
Destruktor.
~CHeapPtrBase() throw();
Keterangan
Membebaskan semua sumber daya yang dialokasikan.
CHeapPtrBase::Detach
Panggil metode ini untuk merilis kepemilikan pointer.
T* Detach() throw();
Nilai hasil
Mengembalikan salinan pointer.
Keterangan
Merilis kepemilikan pointer, mengatur CHeapPtrBase::m_pData
variabel anggota ke NULL, dan mengembalikan salinan pointer.
CHeapPtrBase::Free
Panggil metode ini untuk menghapus objek yang ditujukkan oleh CHeapPtrBase
.
void Free() throw();
Keterangan
Objek yang CHeapPtrBase
ditujukkan oleh dibebesarkan, dan CHeapPtrBase::m_pData
variabel anggota diatur ke NULL.
CHeapPtrBase::m_pData
Variabel anggota data pointer.
T* m_pData;
Keterangan
Variabel anggota ini menyimpan informasi pointer.
CHeapPtrBase::operator &
Operator &.
T** operator&() throw();
Nilai hasil
Mengembalikan alamat objek yang ditujukkan oleh CHeapPtrBase
objek.
CHeapPtrBase::operator ->
Operator pointer-to-member.
T* operator->() const throw();
Nilai hasil
Mengembalikan nilai CHeapPtrBase::m_pData
variabel anggota.
Keterangan
Gunakan operator ini untuk memanggil metode di kelas yang diacu oleh CHeapPtrBase
objek. Dalam build debug, kegagalan pernyataan akan terjadi jika poin ke CHeapPtrBase
NULL.
CHeapPtrBase::operator T*
Operator cast.
operator T*() const throw();
Keterangan
Menampilkan CHeapPtrBase::m_pData
.
CHeapPtrBase::ReallocateBytes
Panggil metode ini untuk merealokasi memori.
bool ReallocateBytes(size_t nBytes) throw();
Parameter
nBytes
Jumlah memori baru untuk dialokasikan, dalam byte.
Nilai hasil
Mengembalikan true jika memori berhasil dialokasikan, salah jika tidak.