解决办法:指针声明时初始化,可以是具体的地址值,也可让它指向NULL。
解决办法:指针指向的内存空间被释放后指针应该指向NULL。
解决办法:在变量的作⽤域结束前释放掉变量的地址空间并且让指针指向NULL。
比如下面,在声明指针的时候一定要将指针指向nullptr,在delete释放完后也一定要在将指针指向nullptr,如果释放后不指针指向nullptr,这个时候指针指向的其实是没释放前的地址,后面再次使用这个指针时是不能判空的
Video *video = nullptr;
Audio *audio = nullptr;
if(audio != nullptr)
{
delete audio;
audio = new Audio;
}
else
{
audio = new Audio;
}
if(video != nullptr)
{
delete video;
video = new Video;
}
else
{
video = new Video;
}
if (audio != nullptr)
{
delete audio;
audio = nullptr;
}
if (video != nullptr)
{
delete video;
video = nullptr;
}