一个Naive的问题,tree的destruction# JobHunting - 待字闺中
D*f
1 楼
有点太简单,都不好意思放上来,就是帮我看看这个destructor会不会有内存泄漏?我
觉得似乎要来个delete this?
在constructor里new了一堆Node按照树结构组织好。
class SuffixNode
{
public:
SuffixNode(const char*);
~SuffixNode();
private:
SuffixNode* pFirstChild;
SuffixNode* pNextSibling;
};
SuffixNode::~SuffixNode()
{
SuffixNode* pNode = pFirstChild;
SuffixNode* pToDelete = 0;
while(pNode)
{
pToDelete = pNode;
pNode = pNode->pNextSibling;
delete pToDelete;
}
}
int main()
{
const char* s = "Hello world!";
SuffixNode* pRoot = new SuffixNode(s);
delete pRoot;
}
觉得似乎要来个delete this?
在constructor里new了一堆Node按照树结构组织好。
class SuffixNode
{
public:
SuffixNode(const char*);
~SuffixNode();
private:
SuffixNode* pFirstChild;
SuffixNode* pNextSibling;
};
SuffixNode::~SuffixNode()
{
SuffixNode* pNode = pFirstChild;
SuffixNode* pToDelete = 0;
while(pNode)
{
pToDelete = pNode;
pNode = pNode->pNextSibling;
delete pToDelete;
}
}
int main()
{
const char* s = "Hello world!";
SuffixNode* pRoot = new SuffixNode(s);
delete pRoot;
}