作者ric2k1 (Ric)
看板EE_DSnP
标题Re: [问题] Destructor??
时间Mon Dec 11 11:07:54 2006
※ 引述《Melloto (宜兰宜兰><"")》之铭言:
: 在RecycleList的destructor里面看到 reset();
: 但是reset() 里面又有 delete toDel;
: 那这样会不会是无穷回圈阿= =a
: 从头影片上看来
: 似乎reset都是在delete他们包住的东西
: 好像没看到会delete自己这个class的
: ----
: 如果是我没有把整个code看完造成的愚蠢问题
: 请原谅我><""
刚刚才发现忘记回答这个问题...
你说的没错, 我的确是写错了... :P
这样写虽然不会造成无穷回圈, 但是会有 doubly freeing memory 的问题...
MemRecycleList<T>::reset() 应改成 ---
void reset() {
if (_nextList) delete _nextList;
_first = 0; _nextList = 0;
}
不过因为有点晚发现, 所以我们的测资会避免测到这样的地方...
想 update hw4.tgz MemRecycleList<T>::reset()的人可以中午过後 download
(只有 MemRecycleList<T>::reset() 的修改)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.21.240