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, class Max>
class cache_freelist
Parameter
Sz
Jumlah elemen dalam array yang akan dialokasikan.
Maks
Kelas maks yang mewakili ukuran maksimum daftar gratis. Ini bisa max_fixed_size, max_none, max_unbounded, atau max_variable_size.
Keterangan
Templat kelas cache_freelist mempertahankan daftar gratis blok memori ukuran Sz. Ketika daftar gratis penuh, ia menggunakan penghapusan operator untuk membatalkan alokasi blok memori. Ketika daftar gratis kosong, ia menggunakan operator baru untuk mengalokasikan blok memori baru. Ukuran maksimum daftar gratis ditentukan oleh kelas maks kelas yang diteruskan dalam parameter Maks .
Setiap blok memori menyimpan Sz byte memori yang dapat digunakan dan data yang diperlukan operator baru dan penghapusan operator.
Konstruktor
| Konstruktor | Deskripsi |
|---|---|
| cache_freelist | Membuat objek jenis cache_freelist. |
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_freelist::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_freelist::cache_freelist
Membuat objek jenis cache_freelist.
cache_freelist();
cache_freelist::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.