delete之后置NULL

来源:6-14 几种变量的对比

avoidOverfitting

2020-10-21

所以new 和 delete都是 分配 和 销毁 在heap上的内存区。而指针本身是在stack上的,delete的时候并没有被销毁,而最好是置为null,否则此时这个指针就指向了一个heap中销毁的内存区,语义上状态就是不合法的了。这样理解对吗?

写回答

1回答

quickzhao

2020-10-21

指针可以在stack也可以在heap上;置NULL是防止野指针,指针所指的区域被delete后已经没有意义了;但是有人不知道又继续使用就会有问题,置NULL别人就可以没办法继续使用这块已经销毁的区域了。

1
1
avoidOverfitting
非常感谢!
2020-10-22
共1条回复

重学C++ ,重构你的C++知识体系

一部大片,一段历史,构建C++知识框架的同时重塑你的编程思维

3884 学习 · 1103 问题

查看课程