Oharra
Orrialde honetara sartzeak baimena behar du. Saioa hasteko edo direktorioak aldatzen saia zaitezke.
Orrialde honetara sartzeak baimena behar du. Direktorioak aldatzen saia zaitezke.
Define un asignador de bloques que asigna y desasigna bloques de memoria de un tamaño único.
Sintaxis
template <std::size_t Sz, size_t Nelts = 20>
class cache_suballoc
Parámetros
Sz
El número de elementos de la matriz que se van a asignar.
Comentarios
La plantilla de clase cache_suballoc almacena bloques de memoria desasignados en una lista libre con longitud ilimitada, mediante freelist<sizeof(Type), max_unbounded>, y subasigna bloques de memoria de un fragmento mayor asignado con el operador new cuando la lista libre está vacía.
Cada fragmento contiene bytes Sz * Nelts de memoria utilizable y los datos requeridos por el operador new y el operador delete. Nunca se liberarán los fragmentos asignados.
Constructores
| Constructor | Descripción |
|---|---|
| cache_suballoc | Construye un objeto de tipo cache_suballoc. |
Funciones miembro
| Función de miembro | Descripción |
|---|---|
| asignar | Asigna un bloque de memoria. |
| desasignar | Libera un número especificado de objetos del almacenamiento, a partir de la posición especificada. |
Requisitos
Encabezado:<allocators>
Espacio de nombres: stdext
cache_suballoc::allocate
Asigna un bloque de memoria.
void *allocate(std::size_t count);
Parámetros
contar
El número de elementos de la matriz que se van a asignar.
Valor devuelto
Un puntero al objeto asignado.
cache_suballoc::cache_suballoc
Construye un objeto de tipo cache_suballoc.
cache_suballoc();
cache_suballoc::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.
contar
El número de objetos que se van a desasignar del almacenamiento.