D如何管理对象的所有权?例如,我需要表达以下内容:
1.) Allocate an object
2.) Give out references/pointers
3.) If the initially allocated object is deleted,
all references/pointers should become inaccessible.
在C++
中,std::shared_ptr
+ std::weak_ptr
可以实现这一点。这也可能在D?
答案 0 :(得分:2)
目前在D中没有很好的弱引用实现。
请检查以下两个论坛帖子:
不正确或“几乎”正确的实施:
最大的问题是你需要一个围绕弱引用的GOOD API。 Java和.NET都有它,它可以说是BAD。有充分的理由 - 很难找到一个好的api!