Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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 |
|---|---|
| stanziare | Alloca un blocco di memoria. |
| Deallocare | 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
contare
Numero di elementi della matrice da allocare.
Valore restituito
Puntatore all'oggetto allocato.
cache_suballoc::cache_suballoc
Costruisce un oggetto di tipo cache_suballoc.
cache_suballoc();
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.
contare
Numero di oggetti da deallocare dall'archivio.