Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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ı.