Share via


Classe cache_freelist

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

Sintassi

template <std::size_t Sz, class Max>
class cache_freelist

Parametri

Sz
Numero di elementi della matrice da allocare.

Max
La classe max che rappresenta la dimensione massima dell'elenco di disponibilità. Può essere max_none, max_unbounded, max_fixed_size o max_variable_size.

Osservazioni:

Il modello di classe cache_freelist gestisce un elenco gratuito di blocchi di memoria di dimensioni Sz. Quando l'elenco gratuito è completo, usa l'operatore delete per deallocare i blocchi di memoria. Quando l'elenco gratuito è vuoto, usa l'operatore new per allocare nuovi blocchi di memoria. La dimensione massima dell'elenco gratuito è determinata dalla classe max classe passata nel parametro Max .

Ogni blocco di memoria contiene byte Sz di memoria utilizzabile e i dati richiesti dall'operatore new e operator delete .

Costruttori

Costruttore Descrizione
cache_freelist Costruisce un oggetto di tipo cache_freelist.

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_freelist::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_freelist::cache_freelist

Costruisce un oggetto di tipo cache_freelist.

cache_freelist();

Osservazioni:

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