仅用delete释放空间,不置为NULL,会出现野指针的情况吗?

来源:6-16 智能指针auto_ptr

他门说这就是人生

2020-03-04

我们的demo中,用到的指针变量,在delete后都置为了NULL。但auto_ptr的析构函数中却没有置为NULL,那auto_ptr存在野指针的问题吗?为什么?

http://img.mukewang.com/szimg/5e5f196c098706af02890124.jpg

http://img1.sycdn.imooc.com/szimg/5e5f196c0941e19b05910565.jpg

我是参考的百度百科,说释放时置为NULL可规避野指针。

https://baike.baidu.com/item/%E9%87%8E%E6%8C%87%E9%92%88/9654046?fr=aladdin

写回答

1回答

quickzhao

2020-03-04

置NULL是为了规避野指针使用的问题,这个我课上已经讲过了;只要你后面还有可能触碰到这个指针,就得置NULL;智能指针能通过封装可以保证后面不会再触及到这个原始的指针了,所以不用担心。

0
1
他门说这就是人生
好的,谢谢老师。
2020-03-04
共1条回复

重学C++ ,重构你的C++知识体系

一部大片,一段历史,构建C++知识框架的同时重塑你的编程思维

3884 学习 · 1103 问题

查看课程