【C++学习笔记】什么是野指针?如何避免它的出现?

1.定义

指向非法的内存地址指针叫作野指针(Wild Pointer),也叫悬挂指针(Dangling Pointer),意为无法正常使用的指针。

【C++学习笔记】什么是野指针?如何避免它的出现?_第1张图片

 

2.出现野指针的常见情形

2.1使用未初始化的指针

出现野指针最典型的情形就是在定义指针变量之后没有对它进行初始化,如下面的程序。

#include

usingnamespacestd;

intmain()

{

  int* p;

  cout<<*p<

}

2.2指针所指的对象已经消亡

指针指向某个对象之后,当这个对象的生命周期已经结束,对象已经消亡后,仍使用指针访问该对象,将出现运行时错误。考察如下程序。

#include

usingnamespacestd;

 

int* retAddr()

{

  intnum=10;

  return#

}

 

intmain()

{

  int* p=NULL;

  p=retAddr();

  cout&

你可能感兴趣的:(C++,c++,编程语言,野指针,悬挂指针)