2012年2月24日

C/C++ 基础-free 和 delete 释放内存(转)

摘要: free 和 delete 把指针怎么啦?别看 free 和 delete 的名字恶狠狠的(尤其是 delete),它们只是把指针所指的内存给释放掉,但并没有把指针本身干掉。用调试器跟踪示例 7-5,发现指针 p 被 free 以后其地址仍然不变(非 NULL),只是该地址对应的内存是垃圾,p 成了“野指针”。如果此时不把 p 设置为 NULL,会让人误以为 p 是个合法的指针。如果程序比较长,我们有时记不住 p 所指的内存是否已经被释放,在继续使用 p 之前,通常会用语句 if (p != NULL)进行防错处理。很遗憾,此时 if 语句起不到防错作用,因为即便 p 不是 NULL 指针,它 阅读全文

posted @ 2012-02-24 10:14 奋斗者 阅读(552) 评论(0) 推荐(0)

导航