我有一个来自 boost c++ 库的堆数据结构。它包含一些指向另一个堆对象的指针,该对象本身指向一些对象(即,我有一堆堆)。当我在主堆上调用 clear 时,我会清除堆。但我想同时删除其中的对象。有什么方法可以在清理堆中的对象时调用(自动)析构函数?
谢谢
void myClean(HeapType Heap)
{
innerHeapType *inHeap = Heap->top();
innerObjType *tmp2;
while (inHeap->size()>0)
{
tmp2 = curHeap->top();
inHeap->pop();
delete tmp2;
}
inHeap->clear();
Heap->pop();
delete inHeap;
}