Udostępnij przez


cache_suballoc — Klasa

Definiuje alokator bloków, który przydziela i cofa przydział bloków pamięci o pojedynczym rozmiarze.

Składnia

template <std::size_t Sz, size_t Nelts = 20>
class cache_suballoc

Parametry

Sz
Liczba elementów w tablicy do przydzielenia.

Uwagi

Szablon klasy cache_suballoc przechowuje cofnięto przydział bloków pamięci na liście bezpłatnej o niezwiązanej długości, przy użyciu parametrów freelist<sizeof(Type), max_unbounded>i podrzędnych przydziałów bloków pamięci z większego fragmentu przydzielonego operatorowi nowe , gdy lista bezpłatna jest pusta.

Każdy fragment przechowuje Sz * Nelts bajty pamięci do użytku oraz dane, których wymaga operator new i operator delete . Przydzielone fragmenty nigdy nie są zwalniane.

Konstruktory

Konstruktor opis
cache_suballoc Tworzy obiekt typu cache_suballoc.

Funkcje składowe

Funkcja składowa opis
allocate Przydziela blok pamięci.
Deallocate Zwalnia określoną liczbę obiektów z magazynu rozpoczynającego się na określonej pozycji.

Wymagania

Nagłówek:<alokatory>

Przestrzeń nazw: stdext

cache_suballoc::przydziel

Przydziela blok pamięci.

void *allocate(std::size_t count);

Parametry

count
Liczba elementów w tablicy do przydzielenia.

Wartość zwracana

Wskaźnik do przydzielonego obiektu.

Uwagi

cache_suballoc::cache_suballoc

Tworzy obiekt typu cache_suballoc.

cache_suballoc();

Uwagi

cache_suballoc::d eallocate

Zwalnia określoną liczbę obiektów z magazynu rozpoczynającego się na określonej pozycji.

void deallocate(void* ptr, std::size_t count);

Parametry

ptr
Wskaźnik do pierwszego obiektu, który ma zostać cofnięty z magazynu.

count
Liczba obiektów do cofnięcia przydziału z magazynu.

Uwagi

Zobacz też

<Allocators>