32 lines
870 B
Markdown
32 lines
870 B
Markdown
|
|
# PoolAllocator::~PoolAllocator
|
||
|
|
|
||
|
|
```cpp
|
||
|
|
~PoolAllocator() override;
|
||
|
|
```
|
||
|
|
|
||
|
|
销毁内存池分配器,释放预分配的所有内存块。析构函数调用 `std::free` 释放整个内存池,不再需要单独释放每个块。
|
||
|
|
|
||
|
|
**参数:** 无
|
||
|
|
|
||
|
|
**返回:** 无
|
||
|
|
|
||
|
|
**注意:** 析构函数释放整个内存池,包括所有已分配和空闲的块。调用析构函数后,池中所有已分配出去的块也随之失效,使用这些块指针将导致未定义行为。
|
||
|
|
|
||
|
|
**示例:**
|
||
|
|
|
||
|
|
```cpp
|
||
|
|
#include <XCEngine/Memory/PoolAllocator.h>
|
||
|
|
|
||
|
|
{
|
||
|
|
PoolAllocator pool(sizeof(int), 1000);
|
||
|
|
void* block = pool.Allocate();
|
||
|
|
// ... 使用内存块
|
||
|
|
|
||
|
|
pool.Free(block); // 可选:显式释放(析构时会自动释放)
|
||
|
|
} // 超出作用域时自动释放整个内存池
|
||
|
|
```
|
||
|
|
|
||
|
|
## 相关文档
|
||
|
|
|
||
|
|
- [PoolAllocator 总览](pool-allocator.md) - 返回类总览
|