空指针与野指针

2016-11-10  本文已影响0人  沧海梦帆

注意空指针和野指针的区别:
空指针是指向null的指针,没有指任何内存地址。而野指针是,指向了一块内存地址,但是这块内存却被释放收回了。

在c++中:

p = nullptr;
delete p;//完全合法

p = new int;
delete p;//内存释放
delete p;//没有指向有效内存成为野指针,重复释放

if(p != nullptr)//多余的判断 确保delete之后将指针指向null 然而这只是有限的保护,对于多个指针指向同一个内存,仍然无能为力
  delete p;
上一篇 下一篇

猜你喜欢

热点阅读