Condividi tramite


Classe cache_suballoc

Definisce un allocatore di blocco che alloca e dealloca blocchi di memoria di un'unica dimensione.

Sintassi

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

Parametri

Sz
Numero di elementi della matrice da allocare.

Osservazioni:

Il modello di classe cache_suballoc archivia blocchi di memoria deallocati in un elenco gratuito con lunghezza non associata, usando freelist<sizeof(Type), max_unbounded>e esegue il suballocate i blocchi di memoria da un blocco più grande allocato con l'operatore new quando l'elenco gratuito è vuoto.

Ogni blocco contiene Sz * Nelts byte di memoria utilizzabile e i dati richiesti dall'operatore new e operator delete . Le porzioni allocate non vengono mai liberate.

Costruttori

Costruttore Descrizione
cache_suballoc Costruisce un oggetto di tipo cache_suballoc.

Funzioni membro

Funzione membro Descrizione
allocate Alloca un blocco di memoria.
deallocate Libera un numero specificato di oggetti dall'archiviazione iniziando da una posizione specificata.

Requisiti

Intestazione:<allocatori>

Spazio dei nomi: stdext

cache_suballoc::allocate

Alloca un blocco di memoria.

void *allocate(std::size_t count);

Parametri

count
Numero di elementi della matrice da allocare.

Valore restituito

Puntatore all'oggetto allocato.

Osservazioni:

cache_suballoc::cache_suballoc

Costruisce un oggetto di tipo cache_suballoc.

cache_suballoc();

Osservazioni:

cache_suballoc::d eallocate

Libera un numero specificato di oggetti dall'archiviazione iniziando da una posizione specificata.

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

Parametri

ptr
Puntatore al primo oggetto da deallocare dall'archivio.

count
Numero di oggetti da deallocare dall'archivio.

Osservazioni:

Vedi anche

<allocators>