Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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.