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.