一、概念
野指针:指向一个已删除的对象或者申请访问受限内存区域的指针。
二、产生原因
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++内存泄漏检测工具(上)