C++ 自定义分配机制
我正在实现自己的记忆机制。这是我的密码:C++ 自定义分配机制,c++,memory-management,C++,Memory Management,我正在实现自己的记忆机制。这是我的密码: 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.fr
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);
}
问题是,在我的分配器被销毁后会出现一些操作员删除调用,在分配器初始化时会出现一些操作员新调用。怎么处理
更新:
为了清楚起见,我不在分配器中使用运算符new和delete,因此在某些系统或库调用中会出现问题。不要使用运算符new初始化分配器。@KerrekSB我不使用它。我用malloc分配内存,并调用运算符new到该内存,然后将其更改为返回get_local_pool.new_memn,并生成一个函数来保证事情已初始化。@KerrekSB哇,似乎正在工作。多谢各位!C++静态初始化顺序的奇观: