为了账号安全,请及时绑定邮箱和手机立即绑定

析构函数调用

在本次的析构函数中,已经delete m_pList,为什么还要m_pList=NULL?

感觉完全没有必要,为什么老师说这样更好?

正在回答

4 回答

delete m_pList;   这个操作只是将指针m_pList所指向的内存空间释放掉,使内存重归操作系统。但m_pList的指向位置并没有改变,此位置的内存已经被释放掉了,若再用m_pList访问这块内存,系统就会崩溃出错!为了防止这种误操作所引起的崩溃出错。所以将m_pList置为NULL的安全状态,就避免这种野指针事件的发生。希望对你有所帮助~

0 回复 有任何疑惑可以回复我~

难道释放内存后。m_pList还仍然存在着吗

0 回复 有任何疑惑可以回复我~

delete 只做释入内存, m_pList的值不做修改。 

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

析构函数调用

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信