gpt4 book ai didi

memory-management - 什么时候在 D 中删除?

转载 作者:行者123 更新时间:2023-12-04 01:37:14 24 4
gpt4 key购买 nike

我在 C++ 中学习了 8 年的 D。我的问题是关于 D 垃圾收集 - 我什么时候使用 delete,什么时候不需要?

最佳答案

你没有。 Delete 不能与 D 版本 2 一起使用,并且旨在从语言中删除。阻碍是什么,我不确定。相反,您使用函数 destroy (object),它调用析构函数,您可以在其中释放非 GC 内存的资源。在对象自身内存的GC收集过程中会再次引发析构函数。这在“The D Programming Language ”中进行了解释。

这个想法是在 GC 提供的资源之前回收资源,并防止悬挂指针造成内存损坏。为了不那么安全,core.memory 模块提供了 GC.free(object),它可以在调用 destroy(object) 之后释放内存。

由于我不是 C++ 程序员,我并不真正了解 RAII 模式,但如果您希望避免 GC,则此和引用计数是预期的策略。

关于memory-management - 什么时候在 D 中删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4589114/

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