|
ViewDesignEngine
3.1.0
高性能 CAD 计算几何引擎
|
固定块大小的内存池 更多...
#include <memory_pool.h>
Public 成员函数 | |
| MemoryPool (size_t chunk_size=1024) | |
| 构造内存池 更多... | |
| ~MemoryPool () | |
| 析构内存池,释放所有已分配的内存块 更多... | |
| T * | allocate (size_t n=1) |
| 从池中分配 n 个 T 对象的内存 更多... | |
| void | deallocate (T *p, size_t=1) |
| 将内存归还到池中 更多... | |
固定块大小的内存池
使用空闲链表实现 O(1) 的分配和释放。按固定大小的 chunk 预先分配内存, 适合频繁创建/销毁同类型小对象的场景(如半边网格的顶点和面)。
| T | 池中存储的对象类型 |
在文件 memory_pool.h 第 30 行定义.
|
inlineexplicit |
|
inline |
析构内存池,释放所有已分配的内存块
在文件 memory_pool.h 第 41 行定义.
|
inline |
从池中分配 n 个 T 对象的内存
当前实现忽略 n 参数,每次始终分配一个对象。 若空闲链表为空,自动分配新的 chunk。
| n | 对象数量(当前未使用,保留用于 API 兼容) |
在文件 memory_pool.h 第 54 行定义.
|
inline |