Bagikan melalui


Kelas cache_freelist

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.

Lihat juga

<alokator>