Skip to content

Commit d217a98

Browse files
author
zhangyuwei
committed
fix destructor.
1 parent 3b7b4af commit d217a98

4 files changed

Lines changed: 22 additions & 8 deletions

File tree

binaryTree.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,8 @@ namespace SuperTAD::binary
118118

119119
BasePruner::~BasePruner()
120120
{
121-
_data = NULL;
122-
_tree = NULL;
121+
_data = nullptr;
122+
_tree = nullptr;
123123
}
124124

125125
Pruner1::Pruner1(Tree &tree, int k) : BasePruner(tree)

data.cpp

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,22 @@ namespace SuperTAD
7474
for (int s=0; s<_N_; s++) {
7575
delete [] _logVolTable[s];
7676
delete [] _edgeCountTable[s];
77-
if (!_initByPointer)
77+
_logVolTable[s] = nullptr;
78+
_edgeCountTable[s] = nullptr;
79+
if (!_initByPointer){
7880
delete [] _contactTable[s];
81+
_contactTable[s] = nullptr;
82+
}
83+
7984
}
8085
delete [] _logVolTable;
8186
delete [] _edgeCountTable;
82-
if (!_initByPointer)
87+
_logVolTable = nullptr;
88+
_edgeCountTable = nullptr;
89+
if (!_initByPointer){
8390
delete [] _contactTable;
91+
_contactTable = nullptr;
92+
}
8493
}
8594

8695

multiTree.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,13 @@ namespace SuperTAD::multi {
2323

2424
Tree::~Tree()
2525
{
26-
for (auto & i : _nodeList)
26+
for (auto & i : _nodeList){
2727
delete i;
28+
i = nullptr;
29+
}
30+
_nodeList.clear();
2831
delete _root;
32+
_root = nullptr;
2933
}
3034

3135

multiTree.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,10 @@ namespace SuperTAD::multi {
2929
}
3030

3131
~TreeNode() {
32-
for (auto i : _children)
33-
delete i;
34-
_children.clear();
32+
if (! _children.empty()){
33+
for (auto i : _children)
34+
i = nullptr;
35+
}
3536
}
3637

3738
TreeNode& operator=(const TreeNode &copy) {

0 commit comments

Comments
 (0)