cache_chunklist Sınıfı
Tek boyuttaki bellek bloklarını ayıran ve serbest bırakacak bir blok ayırıcı tanımlar.
Sözdizimi
template <std::size_t Sz, std::size_t Nelts = 20>
class cache_chunklist
Parametreler
Sz
Dizideki ayrılacak öğe sayısı.
Açıklamalar
Bu sınıf şablonu ham belleğin öbeklerini ayırmak için yeni işlecini kullanır, gerektiğinde bellek bloğu için depolama ayırmak için blokları ayırır; serbest bırakılmış bellek bloklarını her öbek için ayrı bir boş listede depolar ve bellek bloklarının hiçbiri kullanımda olmadığında öbekleri serbest bırakmak için işleç silmeyi kullanır.
Her bellek bloğu, kullanılabilir belleğin Sz baytlarını ve ait olduğu öbek işaretçisini tutar. Her öbek bellek bloklarını, üç işaretçiyi, bir int'i ve yeni ve işleç silme işlecinin gerektirdiği verileri tutar Nelts
.
Oluşturucular
Oluşturucu | Açıklama |
---|---|
cache_chunklist | türünde cache_chunklist bir nesnesi oluşturur. |
Üye işlevleri
Üye işlevi | Açıklama |
---|---|
allocate | Bir bellek bloğu ayırır. |
Ayırması | Belirtilen sayıda nesneyi belirtilen konumdan başlayarak depolama alanından serbest bırakın. |
Gereksinimler
Üst bilgi:<ayırıcılar>
Ad alanı: stdext
cache_chunklist::allocate
Bir bellek bloğu ayırır.
void *allocate(std::size_t count);
Parametreler
count
Dizideki ayrılacak öğe sayısı.
Dönüş Değeri
Ayrılan nesnenin işaretçisi.
Açıklamalar
cache_chunklist::cache_chunklist
türünde cache_chunklist
bir nesnesi oluşturur.
cache_chunklist();
Açıklamalar
cache_chunklist::d eallocate
Belirtilen sayıda nesneyi belirtilen konumdan başlayarak depolama alanından serbest bırakın.
void deallocate(void* ptr, std::size_t count);
Parametreler
ptr
Depolama alanından serbest bırakılacak ilk nesnenin işaretçisi.
count
Depolama alanından serbest bırakılacak nesne sayısı.