Lưu ý
Cần có ủy quyền mới truy nhập được vào trang này. Bạn có thể thử đăng nhập hoặc thay đổi thư mục.
Cần có ủy quyền mới truy nhập được vào trang này. Bạn có thể thử thay đổi thư mục.
Defines a block allocator that allocates and deallocates memory blocks of a single size.
Syntax
template <std::size_t Sz, size_t Nelts = 20>
class cache_suballoc
Parameters
Sz
The number of elements in the array to be allocated.
Remarks
The cache_suballoc class template stores deallocated memory blocks in a free list with unbounded length, using freelist<sizeof(Type), max_unbounded>, and suballocates memory blocks from a larger chunk allocated with operator new when the free list is empty.
Each chunk holds Sz * Nelts bytes of usable memory and the data that operator new and operator delete require. Allocated chunks are never freed.
Constructors
| Constructor | Description |
|---|---|
| cache_suballoc | Constructs an object of type cache_suballoc. |
Member functions
| Member function | Description |
|---|---|
| allocate | Allocates a block of memory. |
| deallocate | Frees a specified number of objects from storage beginning at a specified position. |
Requirements
Header: <allocators>
Namespace: stdext
cache_suballoc::allocate
Allocates a block of memory.
void *allocate(std::size_t count);
Parameters
count
The number of elements in the array to be allocated.
Return Value
A pointer to the allocated object.
cache_suballoc::cache_suballoc
Constructs an object of type cache_suballoc.
cache_suballoc();
cache_suballoc::deallocate
Frees a specified number of objects from storage beginning at a specified position.
void deallocate(void* ptr, std::size_t count);
Parameters
ptr
A pointer to the first object to be deallocated from storage.
count
The number of objects to be deallocated from storage.