野指针和内存泄漏

网友投稿 411 2022-11-29

野指针和内存泄漏

野指针可能会造成内存泄漏,内存泄漏不一定就是野指针造成的(注,野指针不是一定会造成内存泄漏,如果它随机指向的是一个变量地址,则就不会造成内存泄漏了)

内存泄漏:

定义:程序中已动态分配的堆内存由于某种原因,程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果造成内存泄漏的原因有两点:对象没有被释放、循环引用

野指针:

定义:如果内存已经释放,而指针还在引用原始内存,这样的指针就称为野指针,也称作迷途指针。野指针不是nil指针,是指向”垃圾”内存(不可用内存)的指针野指针产生原因:

指针变量未初始化任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是随机的。所以指针变量在创建的同时应当被初始化,要么将指针置为NULL,要么让它指向合法的内存指针释放后未置空指针在free或delete后未赋值NULL,此时指针指向的就是“垃圾”内存指针操作超越变量作用域不要返回指向栈内存的指针或引用,因为栈内存 在函数结束时会被释放

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java接口语法以及与类的关系详解
下一篇:C++读图txt文件,并将数据结构 图显示出来
相关文章

 发表评论

暂时没有评论,来抢沙发吧~