首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >戴恩的记忆模型是什么?

戴恩的记忆模型是什么?
EN

Stack Overflow用户
提问于 2020-05-21 16:40:36
回答 1查看 82关注 0票数 0

Dyon教程表示,它使用的是“生命周期”,而不是垃圾收集或手动内存管理。那么,这种终身模式与铁锈的所有权有何不同呢?

由于缺少垃圾收集器,Dyon的内存模型有限。语言就是为了解决这个限制而设计的。- Dyon编程语言教程

这种模式究竟有多大的局限性?由于这个限制,是否有Dyon无法运行的内存管理代码的示例?

EN

回答 1

Stack Overflow用户

发布于 2020-05-21 17:13:15

链接的Dyon书包含对以下内容的解释:

生命周期是关于参考资料的 生命周期是关于存储在变量中的引用。所有引用都比存储在其中的变量更长。变量不能存储对自身的引用,因为它不能超过自身。 为了在变量中放置引用,生存期检查器必须知道引用比变量更长。 由于使用了生命周期检查器,Dyon中的所有内存都是无圈图。

因此,主要的限制是引用不能产生任何循环。也就是说,不可能表示循环节点列表或让子对象保持对其父对象的引用。

这些限制也适用于锈病,但锈病也提供了解决办法。引用计数类型(RcArc)与弱引用(参见std::rc::Weak)相结合,可以创建循环引用。也可以在unsafe构造(即原始指针)后面进行循环。

另见(锈蚀具体情况,但大多数原则适用):

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61939447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档