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