Aracılığıyla paylaş


cache_suballoc 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, size_t Nelts = 20>
class cache_suballoc

Parametreler

Sz
Dizideki ayrılacak öğe sayısı.

Açıklamalar

cache_suballoc sınıf şablonu serbest bırakılmış bellek bloklarını, kullanarak freelist<sizeof(Type), max_unbounded>ilişkisiz bir listede depolar ve boş liste boş olduğunda yeni işleciyle ayrılmış daha büyük bir öbekteki bellek bloklarını suballocates.

Her öbek, kullanılabilir bellek baytlarını ve yeni ve işleç silme işlecinin gerektirdiği verileri tutar Sz * Nelts . Ayrılan öbekler hiçbir zaman serbest kalmaz.

Oluşturucular

Oluşturucu Açıklama
cache_suballoc türünde cache_suballocbir 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_suballoc::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_suballoc::cache_suballoc

türünde cache_suballocbir nesnesi oluşturur.

cache_suballoc();

Açıklamalar

cache_suballoc::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>