Compartir a través de


cache_chunklist (Clase)

Define un asignador de bloques que asigna y desasigna bloques de memoria de un tamaño único.

Sintaxis

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

Parámetros

Sz
El número de elementos de la matriz que se van a asignar.

Comentarios

Esta plantilla de clase usa el operador new para asignar fragmentos de memoria binaria, subasignando bloques para asignar almacenamiento para un bloque de memoria cuando sea necesario; almacena bloques de memoria desasignados en una lista libre independiente para cada fragmento y usa el operador delete para desasignar un fragmento cuando ninguno de los bloques de memoria está en uso.

Cada bloque de memoria contiene Sz bytes de memoria utilizable y un puntero al fragmento al que pertenece. Cada fragmento contiene Nelts bloques de memoria, tres punteros, un int y los datos que requieren el operador new y el operador delete.

Constructores

Constructor Descripción
cache_chunklist Construye un objeto de tipo cache_chunklist.

Funciones miembro

Función de miembro Descripción
allocate Asigna un bloque de memoria.
deallocate Libera un número especificado de objetos del almacenamiento, a partir de la posición especificada.

Requisitos

Encabezado:<allocators>

Espacio de nombres: stdext

cache_chunklist::allocate

Asigna un bloque de memoria.

void *allocate(std::size_t count);

Parámetros

count
El número de elementos de la matriz que se van a asignar.

Valor devuelto

Un puntero al objeto asignado.

Comentarios

cache_chunklist::cache_chunklist

Construye un objeto de tipo cache_chunklist.

cache_chunklist();

Comentarios

cache_chunklist::d eallocate

Libera un número especificado de objetos del almacenamiento, a partir de la posición especificada.

void deallocate(void* ptr, std::size_t count);

Parámetros

ptr
Un puntero al primer objeto que se va a desasignar del almacenamiento.

count
El número de objetos que se van a desasignar del almacenamiento.

Comentarios

Consulte también

<allocators>