Bagikan melalui


Kelas cache_chunklist

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.

Lihat juga

<alokator>