freelist Sınıfı
Bellek bloklarının listesini yönetir.
Sözdizimi
template <std::size_t Sz, class Max>
class freelist : public Max
Parametreler
Sz
Dizideki ayrılacak öğe sayısı.
Maksimum
Ücretsiz listede depolanacak en fazla öğe sayısını temsil eden maksimum sınıf. Maksimum sınıf max_none, max_unbounded, max_fixed_size veya max_variable_size olabilir.
Açıklamalar
Bu sınıf şablonu, Sz boyutundaki bellek bloklarının listesini yönetir ve maksimum sınıf tarafından belirlenen en fazla uzunluk Üst sınırda geçirilir.
Oluşturucular
Oluşturucu | Açıklama |
---|---|
serbest liste | türünde freelist bir nesnesi oluşturur. |
Üye işlevleri
Üye işlevi | Açıklama |
---|---|
Pop | Ücretsiz listeden ilk bellek bloğunu kaldırır. |
push | Listeye bir bellek bloğu ekler. |
Gereksinimler
Üst bilgi:<ayırıcılar>
Ad alanı: stdext
freelist::freelist
türünde freelist
bir nesnesi oluşturur.
freelist();
Açıklamalar
freelist::p op
Ücretsiz listeden ilk bellek bloğunu kaldırır.
void *pop();
Dönüş Değeri
Listeden kaldırılan bellek bloğuna bir işaretçi döndürür.
Açıklamalar
Liste boşsa üye işlevi NULL döndürür. Aksi takdirde, listeden ilk bellek bloğunu kaldırır.
freelist::p ush
Listeye bir bellek bloğu ekler.
bool push(void* ptr);
Parametreler
ptr
Boş listeye eklenecek bellek bloğu işaretçisi.
Dönüş Değeri
true
full
en yüksek sınıfın işlevi döndürürsefalse
, aksi takdirde push
işlevi döndürürfalse
.
Açıklamalar
full
Max sınıfının işlevi döndürürsefalse
, bu üye işlevi ptr tarafından işaret edilen bellek bloğunu listenin başına ekler.