C++:野指针的概念、产生原因、危害和避免方式

一、概念

野指针:指向一个已删除的对象或者申请访问受限内存区域的指针。

二、产生原因

2.1 定义时未初始化

2.2 释放后未置空

2.3 指针操作超出作用域

三、危害

内存泄漏

3.1 指向不可访问地址(程序报错)

3.2 指向可用或无明确意义的空间(程序运行) 

3.3 指向可用且正被使用的空间(程序崩溃,或数据损坏)

四、如何避免

4.1 初始化

      初始化置NULL或赋值或new

4.2 释放

      使用完后及时释放,释放后置NULL

4.3 好习惯,及时检查

4.4 使用内存泄漏检测工具,例如Visual Leak Detector

检测工具可参考c++内存泄漏检测工具(上)

发布了63 篇原创文章 · 获赞 58 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/xinjiang666/article/details/100547210