gpt4 book ai didi

c++ - C++ 中删除运算符的 'destroying' 内存是什么意思?

转载 作者:太空狗 更新时间:2023-10-29 23:30:38 24 4
gpt4 key购买 nike

我想知道在 C++ 中被“删除”运算符破坏的内存会发生什么。以这种方式“破坏”内存是否意味着将给定的内存块设置为 0 或其他内容?

最佳答案

它正在销毁(如调用相关的析构函数)传递给 delete 的对象实例,然后“释放”内存以便它可以用于其他目的。

C++ 标准没有说明delete 后内存的内容是什么,当然也不能保证它为零或任何其他值——也不保证它不为零- 它可能被归零,它可能保留它之前的所有值,或者它的某些部分可能会被改变而其他部分保持不变。

C 和 C++ 作为语言的目标是“只做最少的必要工作”,因此典型的内存释放不会覆盖“旧”内存。

您当然可以在析构函数中使用代码在释放内存之前将其设置为零。

既然你不应该在内存被删除后使用它,那么这应该无关紧要。

关于c++ - C++ 中删除运算符的 'destroying' 内存是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16251539/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com