首页 热点资讯 义务教育 高等教育 出国留学 考研考公

c++delete指针之后置0的意义

发布网友 发布时间:2022-04-24 16:00

我来回答

2个回答

热心网友 时间:2023-10-21 03:17

这实际上是一个语法规范的问题。
p=0;从代码运行上看没什么意义,但这么做助于代码的稳健性和可维护性。
就象我们定一个函数时,一般都会要求在函数开头检查一下参数值的取值范围是否合法一样。都是出于代码重用和后期维护时的稳健性考虑。
这里指针p,在delete之后,分配的空间已经被释放,但p的指针值还是指向原地址空间,如果不令其指向NULL(0)的话,之后的代码如果需要使用p时,会无法判断p的空间是否可用,而失去为它重新分配空间的机会,甚至可能造成内存越界访问的错误。

热心网友 时间:2023-10-21 03:18

delete之后的指针指向一个不确定的位置,叫悬垂指针,如果后面不经意引用了,会导致程序崩溃。置0使其成为空指针,后面的程序可通过判断该指针是否为NULL来确定它是否有效。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com