delete和NULL
时间: 2023-10-20 09:35:29 浏览: 197
delete
delete和NULL是与指针相关的概念。
delete是用于释放动态分配的内存空间的操作符。当我们使用new操作符创建一个对象或者数组时,需要使用delete操作符来释放这些内存空间,以防止内存泄漏。在删除一个指针之后,我们需要将该指针设置成空指针,即将其指向null。这可以通过将指针赋值为NULL来实现。这样做是为了避免在之后使用已被释放的内存空间。
在执行delete操作后,指针p并不会自动被置为NULL,它仍然指向之前的地址。因此,为了避免在之后误用该指针,我们需要手动将指针p设置为NULL。这样,如果我们在后续的代码中使用了指针p,可以通过检查指针是否为NULL来判断该指针是否已被释放。
总结起来,delete操作是用来释放内存空间的,而将指针设置为NULL是为了防止误用已被释放的指针。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [delete指针以后应赋值为NULL——QT deletelater指针以后也同样要马上赋值为NULL](https://blog.csdn.net/weixin_33946020/article/details/85822565)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *3* [为什么delete指针后指针设为null(已解答)](https://blog.csdn.net/weixin_30407613/article/details/96261499)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文