This project is a high-performance custom memory management system designed for C++ game development that directly addresses the challenges of memory fragmentation and slow runtime allocation. It implements a Hierarchical Heap structure, segmenting memory by object type to facilitate fast, bulk deallocation and optimize cache usage. By overloading global and class-specific operator new using placement new, the system directs memory requests to its managed heaps and inserts an Allocation Header for tracking. This metadata enables critical debugging features, including Memory Leak Detection via bookmarks and Signature-based Error Checking to quickly identify memory corruption and buffer overruns, ultimately providing a robust, controlled, and efficient alternative to the standard system heap.
Hierarchical Allocation: Segregates memory by object lifetime/type.
Debug-Focused: Implements signatures for corruption checking.
Leak Detection: Supports bookmarks for precise memory leak reports.
C++ Integration: Uses Operator Overloading for seamless integration with existing new and delete calls.
C++
C standard library functions (malloc, free) for underlying OS allocation.
Concepts from C++ For Game Programmers (Dickheiser).