Kelas CHeapPtr
Kelas penunjuk cerdas untuk mengelola penunjuk tumpuk.
Penting
Kelas ini dan anggotanya tidak dapat digunakan dalam aplikasi yang dijalankan di Windows Runtime.
Sintaks
template<typename T, class Allocator=CCRTAllocator>
class CHeapPtr : public CHeapPtrBase<T, Allocator>
Parameter
T
Jenis objek yang akan disimpan pada tumpukan.
Pengalokasi
Kelas alokasi memori yang akan digunakan.
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
CHeapPtr::CHeapPtr | Konstruktor. |
Metode Publik
Nama | Deskripsi |
---|---|
CHeapPtr::Alokasikan | Panggil metode ini untuk mengalokasikan memori pada tumpukan untuk menyimpan objek. |
CHeapPtr::Reallocate | Panggil metode ini untuk merealokasi memori pada tumpukan. |
Operator Publik
Nama | Deskripsi |
---|---|
CHeapPtr::operator = | Operator penugasan. |
Keterangan
CHeapPtr
berasal dari CHeapPtrBase dan secara default menggunakan rutinitas CRT (dalam CCRTAllocator) untuk mengalokasikan dan membebaskan memori. CHeapPtrList kelas dapat digunakan untuk membuat daftar penunjuk tumpukan. Lihat juga CComHeapPtr, yang menggunakan rutinitas alokasi memori COM.
Hierarki Warisan
CHeapPtr
Persyaratan
Header: atlcore.h
CHeapPtr::Alokasikan
Panggil metode ini untuk mengalokasikan memori pada tumpukan untuk menyimpan objek.
bool Allocate(size_t nElements = 1) throw();
Parameter
nElements
Jumlah elemen yang digunakan untuk menghitung jumlah memori yang akan dialokasikan. Nilai default adalah 1.
Tampilkan Nilai
Mengembalikan true jika memori berhasil dialokasikan, false pada kegagalan.
Keterangan
Rutinitas alokator digunakan untuk mencadangkan memori yang cukup pada tumpukan untuk menyimpan objek nElement dari jenis yang ditentukan dalam konstruktor.
Contoh
// 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();
Parameter
p
Penunjuk timbunan yang ada atau CHeapPtr
.
Keterangan
Penunjuk timbunan dapat dibuat secara opsional menggunakan penunjuk yang CHeapPtr
ada, atau objek. Jika demikian, objek baru CHeapPtr
bertanggung jawab untuk mengelola pointer dan sumber daya baru.
Contoh
// Create a new CHeapPtr object
CHeapPtr <int> myHP;
// Create a new CHeapPtr from the first
CHeapPtr <int> myHP2(myHP);
CHeapPtr::operator =
Operator penugasan.
CHeapPtr<T, Allocator>& operator=(
CHeapPtr<T, Allocator>& p) throw();
Parameter
p
Objek yang CHeapPtr
sudah ada.
Tampilkan Nilai
Mengembalikan referensi ke yang diperbarui CHeapPtr
.
Contoh
// 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
Panggil metode ini untuk merealokasi memori pada tumpukan.
bool Reallocate(size_t nElements) throw();
Parameter
nElements
Jumlah elemen baru yang digunakan untuk menghitung jumlah memori yang akan dialokasikan.
Tampilkan Nilai
Mengembalikan true jika memori berhasil dialokasikan, false pada kegagalan.
Contoh
// 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);