# ProxyAllocator::Free ```cpp void Free(void* ptr) override; ``` 释放内存并记录统计。调用转发到底层分配器,同时更新统计信息:增加总释放计数(而非字节大小,因为 ProxyAllocator 不记录释放的字节数),并递减当前分配计数。 **参数:** - `ptr` - 指向要释放的内存块 **返回:** 无 **复杂度:** O(1)(底层释放 + 统计更新) **示例:** ```cpp #include #include IAllocator* sysAlloc = MemoryManager::Get().GetSystemAllocator(); ProxyAllocator proxy(sysAlloc, "TrackedAlloc"); void* p1 = proxy.Allocate(512); void* p2 = proxy.Allocate(256); proxy.Free(p1); proxy.Free(p2); const auto& stats = proxy.GetStats(); printf("Total allocated: %zu, Total freed: %zu, Current: %zu\n", stats.totalAllocated, stats.totalFreed, stats.totalAllocated - stats.totalFreed); ``` ## 相关文档 - [ProxyAllocator 总览](proxy-allocator.md) - 返回类总览