1
我對智能指針和內存分配有困惑。智能指針和自定義內存分配困境
在我的智能指針類中,我通過引擎中的內存模塊擁有自己的分配內存方式。
template <class T>
class Object
{
public:
inline Object()
{
Init();
if (mEngine)
{
mObj = (T*) mEngine->GetMemoryManager()->Allocate(sizeof(T));
mRefCount = 1;
}
}
現在,當我想我Destroy()
發動機,我希望所有的內存釋放爲好。這首先是因爲我想清理與我的引擎相關的所有內存,並且因爲清理mObj
依賴於我的內存管理器,因爲它可能使用內存池來分配/釋放內存,並刪除內存管理器將導致到不可分配的內存。
那麼,我用智能指針拍攝自己的腳?有沒有一個聰明的方法來解決這個問題?
也許一個演示問題的獨立程序會很有幫助。 – 2012-03-05 21:52:24