一、野指针
定义指针变量时最好初始化为NULL;
内存回收后,指针也用完了,这时候也需要及时将指针置为NULL;
指针就像野狗一样,为了防止它乱指,除了在使用期间,别的时候都需要置为NULL。这样它就老实了。
二、栈、堆和静态区
我们可以简单把内存分为三个部分:静态区、栈、堆;
静态区:保存自动全局变量和static变量(static全局和局部变量)。静态区的内容伴随整个程序的生命周期。在编译时分配;
栈:保存局部变量,只在函数的范围内存在。当函数运行结束时,这些内容也会自动销毁;特点时效率高,但空间大小有限;
堆:new/delete分配和释放,在没有释放前一直存在,直到程序结束。特点是使用灵活,空间比较大,但容易出错;
原文:https://www.cnblogs.com/grooovvve/p/12374947.html