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.