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.
Menentukan alokator blok yang mengalokasikan dan membatalkan alokasi blok memori dengan satu ukuran.
Sintaks
template <std::size_t Sz, std::size_t Nelts = 20>
class cache_chunklist
Parameter
Sz
Jumlah elemen dalam array yang akan dialokasikan.
Keterangan
Templat kelas ini menggunakan operator baru untuk mengalokasikan potongan memori mentah, blok suballocating untuk mengalokasikan penyimpanan untuk blok memori saat diperlukan; ia menyimpan blok memori yang dibatalkan alokasinya dalam daftar gratis terpisah untuk setiap gugus, dan menggunakan penghapusan operator untuk membatalkan alokasi gugus ketika tidak ada blok memorinya yang digunakan.
Setiap blok memori menyimpan Sz byte memori yang dapat digunakan dan pointer ke gugus miliknya. Setiap gugus menyimpan Nelts blok memori, tiga pointer, int, dan data yang diperlukan operator baru dan penghapusan operator.
Konstruktor
| Konstruktor | Deskripsi |
|---|---|
| cache_chunklist | Membuat objek jenis cache_chunklist. |
Fungsi anggota
| Fungsi anggota | Deskripsi |
|---|---|
| Mengalokasikan | Mengalokasikan blok memori. |
| batalkan alokasi | Membebaskan jumlah objek tertentu dari penyimpanan yang dimulai pada posisi tertentu. |
Persyaratan
Header:<alokator>
Namespace: stdext
cache_chunklist::alokasikan
Mengalokasikan blok memori.
void *allocate(std::size_t count);
Parameter
hitung
Jumlah elemen dalam array yang akan dialokasikan.
Tampilkan Nilai
Penunjuk ke objek yang dialokasikan.
cache_chunklist::cache_chunklist
Membuat objek jenis cache_chunklist.
cache_chunklist();
cache_chunklist::d eallocate
Membebaskan jumlah objek tertentu dari penyimpanan yang dimulai pada posisi tertentu.
void deallocate(void* ptr, std::size_t count);
Parameter
ptr
Penunjuk ke objek pertama yang akan dibatalkan alokasinya dari penyimpanan.
hitung
Jumlah objek yang akan dibatalkan alokasinya dari penyimpanan.