delete之后,下次再重新申请的时候可以再申请这块内存地址,也就是将这块地址放到了空闲链表上,对于这块地址的内容,没有进行清空处理(也没有必要);由于你没有将p赋为NULL,所以p指针还是指向这块内存空间。 如果不delete的话,你这块内存是不能在申请使用的,也就是所谓的内存泄露。 对于delete之后的指针p,此时是“野指针”。 一般的正确做法是: int * p = new int ; if (p == NULL)(千万不要忘了这句话!!!) { //判断是否为空!使用空指针是不对的!! } delete p; p = NULL;(千万不要忘了这一句话!!)
c++ delete的实质
最新推荐文章于 2023-03-12 10:04:22 发布