memorymgr.h
来自「c++ 游戏编程中的内存管理源码示例」· C头文件 代码 · 共 51 行
H
51 行
#ifndef MEMORYMGR_H_
#define MEMORYMGR_H_
#include "HeapFactory.h"
#include <cstddef>
void * operator new (size_t size);
void * operator new (size_t size, Heap * pHeap);
void operator delete (void * pMem, size_t size);
#define DECLARE_HEAP \
public: \
static void * operator new(size_t size); \
static void operator delete(void * p, size_t size); \
private: \
static Heap * s_pHeap;
#define DEFINE_HEAP(className,heapName) \
Heap * className::s_pHeap = NULL; \
void * className::operator new(size_t size) { \
if (s_pHeap==NULL) \
s_pHeap = HeapFactory::CreateHeap(heapName); \
return ::operator new(size, s_pHeap); \
} \
void className::operator delete(void * p, size_t size) { \
::operator delete(p); \
}
#define DEFINE_HIERARCHICALHEAP(className,heapName,parentName) \
Heap * className::s_pHeap = NULL; \
void * className::operator new(size_t size) { \
if (s_pHeap==NULL) \
s_pHeap = HeapFactory::CreateHeap(heapName,parentName); \
return ::operator new(size, s_pHeap); \
} \
void className::operator delete(void * p, size_t size) { \
::operator delete(p); \
}
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?