Vala 中的弱引用和无主引用有什么区别。
根据我从 Vala 教程中学到的知识,不计算弱引用和无主引用,当真实实例超出范围时,它们将引用 null(!!)。
为什么出于一个原因应该有两种不同的方法?(如果他们做同样的工作)如果没有,有人可以给我一个简单的例子来说明我们为什么以及何时必须使用它们中的每一个?!
非常感谢
Vala 中的弱引用和无主引用有什么区别。
根据我从 Vala 教程中学到的知识,不计算弱引用和无主引用,当真实实例超出范围时,它们将引用 null(!!)。
为什么出于一个原因应该有两种不同的方法?(如果他们做同样的工作)如果没有,有人可以给我一个简单的例子来说明我们为什么以及何时必须使用它们中的每一个?!
非常感谢
目前两者没有区别。语言开发人员选择了两个不同的关键字来表示将来可能会有所不同,请参阅文档中的以下引用:
目前 weak 和 unowned 可以互换使用。但是,您应该只将weak 用于中断引用循环,而将unowned 仅用于上述所有权问题。
据我所知,弱引用用于GLib.Object
子类,无主引用用于从非 GObject C 库导入的非引用计数(Vala 术语中的“紧凑”)类。我在上面链接到的文档页面上有示例。