File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff 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)
Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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
Original file line number Diff line number Diff 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 ©) {
You can’t perform that action at this time.
0 commit comments