三种内存问题与三种指针

来源:互联网 发布:ubuntu mac主题包下载 编辑:程序博客网 时间:2024/05/20 21:43

1.内存

(1)内存泄露

Memory Leak

即动态申请的内存没有返还给系统。

(2)内存溢出

Out Of Memory OOM

即无法向系统申请到想要的内存。

内存如果不断泄露,最终会导致内存溢出。

(3)内存越界

Heap Corruption

访问超过申请内存的区域。


2.指针

(1)野指针

Wild Pointer

未经初始化的指针,一般的指针没有初始化访问,会访问到一个随机的位置。

(2)空悬指针

Dangling Pointer

指向一段已经释放的内存。

(3)空指针

Null Pointer

即指向nullptr的指针,访问空指针会产生异常导致程序终止。


注意:

①空指针比野指针和空悬指针更好,因为野指针和空悬指针很可能不经意改变了,其他程序的值,导致程序错误。

访问空指针会使得本程序直接终止,避免其他错误,同时也更容易检测。

②智能指针,在未初始化时,值是nullptr,从这一点上来说,它也是更安全的。

0 0