# IAllocator::GetTotalAllocated ```cpp virtual size_t GetTotalAllocated() const = 0; ``` 返回此分配器自创建以来累计分配的字节总数。这是一个只读查询操作,不会修改任何内部状态。 **参数:** 无 **返回:** 累计已分配的字节数 **复杂度:** O(1) **示例:** ```cpp #include class MyAllocator : public IAllocator { size_t m_allocated = 0; public: void* Allocate(size_t size, size_t alignment = 0) override { void* ptr = ::operator new(size); m_allocated += size; return ptr; } void Free(void* ptr) override { if (ptr) ::operator delete(ptr); } void* Reallocate(void* ptr, size_t newSize) override { /* ... */ } size_t GetTotalAllocated() const override { return m_allocated; } size_t GetTotalFreed() const override { return 0; } size_t GetPeakAllocated() const override { return m_allocated; } size_t GetAllocationCount() const override { return 0; } const char* GetName() const override { return "MyAllocator"; } }; MyAllocator alloc; alloc.Allocate(100); alloc.Allocate(200); size_t total = alloc.GetTotalAllocated(); // 返回 300 ``` ## 相关文档 - [IAllocator 总览](allocator.md) - 返回类总览