Ado*_*orn 5 c++ memory-management new-operator delete-operator
我知道在正常情况下如何处理内存解除分配.我的情况略有不同.
我正在实现自己的内存池.我希望我班级的客户能够接近分配和解除分配的一般方法.
inline void* operator new(size_t dead_param, CPool& objPool)
{
return objPool.Allocate();
}
Run Code Online (Sandbox Code Playgroud)
我有这个全局函数,所以我班级的用户可以简单地调用
Base baseObj = new (poolObj)Base2();
现在我不知道如何调用析构函数?我清楚没有想法
虽然我有全局运算符删除
inline void operator delete(void* ptr, CPool& objPool)
{
objPool.DeAllocate(ptr);
}
Run Code Online (Sandbox Code Playgroud)
请指导..如何从客户端代码中调用此函数?用户端语法的变化很小.另外请注意,我不希望我的代码的用户实施operator new和operator delete并呼吁Allocate并DeAllocate从那里.