Condividi tramite


Classe cache_chunklist

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

Sintassi

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

Parametri

Sz
Numero di elementi della matrice da allocare.

Osservazioni:

Questo modello di classe usa l'operatore new per allocare blocchi di memoria non elaborata, di suballocating per allocare l'archiviazione per un blocco di memoria quando necessario. Archivia blocchi di memoria deallocati in un elenco libero separato per ogni blocco e usa l'eliminazione dell'operatore per deallocare un blocco quando non è in uso nessuno dei blocchi di memoria.

Ogni blocco di memoria contiene byte Sz di memoria utilizzabile e un puntatore al blocco a cui appartiene. Ogni blocco contiene Nelts blocchi di memoria, tre puntatori, un valore int e i dati richiesti dall'operatore new e operator delete .

Costruttori

Costruttore Descrizione
cache_chunklist Costruisce un oggetto di tipo cache_chunklist.

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_chunklist::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_chunklist::cache_chunklist

Costruisce un oggetto di tipo cache_chunklist.

cache_chunklist();

Osservazioni:

cache_chunklist::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>