当所指向的对象被释放或者收回,但是对该指针没有作任何的修改,以至于该指针仍旧指向已经回收的内存地址,此情况下该指针便称悬垂指针(也叫迷途指针)。
某些编程语言允许未初始化的指针的存在,而这类指针即为野指针。
dp 是一个野指针。scp不是一个野指针:静态变量一开始被初始化为0,从最后一次调用后保持着它们的值。如果没有注释,使用这个特性也许被视为不良风格。
在更多结构化的解决方案中,一种流行的避免悬垂指针的技术是使用智能指针。一个智能指针通常使用引用技术来收回对象。还有些技术包括 tombstones 方法和 locks-and-keys方法。
注意:野指针不是NULL指针,虽然指针未初始化则指向的是未知地址
未初始化情况:
局部普通指针变量地址不确定
局部static指针变量地址为NULL
全局指针变量地址为NULL