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

808 B

PoolAllocator::GetPeakAllocated

size_t GetPeakAllocated() const override;

返回峰值分配的内存总量(字节)。由于池在构造时预分配所有块,峰值即为 m_totalBlocks * m_blockSize

参数:

返回: 内存池总容量(字节)

复杂度: O(1)

示例:

#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)

相关文档