我正在实现自己的内存机制。这是我的代码:
static tls::main_pool main_pool;
static tls::local_pool local_pool(main_pool);
void * operator new(size_t n) throw(std::bad_alloc)
{
return local_pool.new_mem(n);
}
void operator delete(void * p) throw()
{
local_pool.free_mem(p);
}
问题是在我的分配器被销毁之后会出现一些operator delete
次调用,并且在我的分配器初始化时调用operator new
。如何处理?
更新: 为了清楚起见,我不在分配器中使用operator new和delete,因此在一些系统或库调用中出现问题。