c++ static allocator
生活随笔
收集整理的這篇文章主要介紹了
c++ static allocator
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
static allocator
定義一個allocator來管理內存分配
class allocator
{
? ? ?public:
? ? ? ? ? ? ? ? ?void* allocate(size_t);
? ? ? ? ? ? ? ? ?void deallocate(void*, size_t);
? ?private:
? ? ? ? ? ?const int CHUNK=5;
? ? ? ? ? ?struct obj{
? ? ? ? ? ? ? ? ? struct obj* next;
? ? ? ? ? ? }
}
void *allocator::allocate(size_t size){
?obj* p;
if(!freestore){
? freepstore=? p=? ? ? ? ?malloc
}
可以定義為宏:
#define DECLARE_POOL_ALLOC()\
public:\
? void* operator new(size_t size){}\
void operator delete(){}\
protected:\
static allocator myAlloc;
?
?
?
?
總結
以上是生活随笔為你收集整理的c++ static allocator的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++ 内存分配
- 下一篇: c++内存管理-分配失败