Aracılığıyla paylaş


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_chunklistbir 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_chunklistbir 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ı.

Açıklamalar

Ayrıca bkz.

<Allocators>