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ç silmeSz * Neltsgerektirdiği verileri tutar . 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
ayırmak 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

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

Dönüş Değeri

Ayrılan nesnenin işaretçisi.

cache_suballoc::cache_suballoc

türünde cache_suballocbir nesnesi oluşturur.

cache_suballoc();

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.

sayı
Depolama alanından serbest bırakılacak nesne sayısı.

Ayrıca bkz.

<Allocators>