Files
XCEngine/docs/api/memory/pool-allocator/get-peak-allocated.md

33 lines
808 B
Markdown

# PoolAllocator::GetPeakAllocated
```cpp
size_t GetPeakAllocated() const override;
```
返回峰值分配的内存总量(字节)。由于池在构造时预分配所有块,峰值即为 `m_totalBlocks * m_blockSize`
**参数:**
**返回:** 内存池总容量(字节)
**复杂度:** O(1)
**示例:**
```cpp
#include <XCEngine/Memory/PoolAllocator.h>
PoolAllocator pool(sizeof(int), 100);
size_t peak = pool.GetPeakAllocated(); // 100 * sizeof(int)
// 即使分配了部分块,峰值仍然是总容量
void* block1 = pool.Allocate();
void* block2 = pool.Allocate();
size_t current = pool.GetTotalAllocated(); // 2 * sizeof(int)
peak = pool.GetPeakAllocated(); // 100 * sizeof(int)
```
## 相关文档
- [PoolAllocator 总览](pool-allocator.md) - 返回类总览