67得票4回答
如何强制删除一个Python对象?

我对Python中的__del__细节很好奇,什么时候以及为什么要使用它,以及它不应该用于什么。我已经通过艰难的方式学到了,它并不像一个析构函数那样被天真地期望,因为它不是__new__ / __init__的相反操作。class Foo(object): def __init__(...

65得票10回答
为什么C#中没有引用计数和垃圾回收机制?

我来自C++背景,已经用C#工作了一年。和许多人一样,我感到困惑的是为什么语言本身没有内置确定性资源管理机制。相比于确定性析构函数,我们有了Dispose模式。因此,人们开始怀疑在他们的代码中传播IDisposable的影响是否值得努力。 在我被C++所影响的大脑中,使用具有确定性析构函数的...

51得票3回答
在ARC中,我应该在init方法中使用self.property吗?

一个快速的问题。 如果我在.h文件中有一个同名的属性和实例变量: 属性声明:(Reminder*)reminder; @property(nonatomic,strong)(Reminder*)reminder; 如果我正在使用ARC,那么在.init方法中,我应该使用ivar还是proper...

48得票6回答
为什么纯函数式语言不使用引用计数?

在纯函数式语言中,数据是不可变的。使用引用计数时,创建一个引用循环需要更改已经创建的数据。看起来纯函数式语言可以使用引用计数而不必担心可能会出现循环引用。这是对的吗?如果是,为什么它们没有使用引用计数? 我知道在许多情况下,引用计数比GC慢,但至少它减少了暂停时间。在暂停时间较长的情况下,有...

45得票2回答
何时使用Rc而非Box?

我有以下代码,其中使用了Rc和Box,它们之间的区别是什么?哪个更好? 我有这样的代码,同时使用了Rc和Box,它们两者之间的区别是什么?哪一个更好呢? use std::rc::Rc; fn main() { let a = Box::new(1); let a1 = &...

42得票4回答
使用ARC的优缺点是什么?

使用新的自动引用计数 (ARC) 内存管理风格在 iOS 项目中有什么优缺点? 在使用 iOS 5.0 SDK 进行开发时,您是否可以选择不使用 ARC? 对于一个新项目,您推荐使用 ARC 还是手动引用计数 (MRC)? 使用 ARC 的应用程序能否在早于 iOS 5.0 的旧操作系统...

39得票2回答
调用 -retainCount 被认为是有害的。

或者说,为什么我在暑假期间没有使用retainCount 本文旨在征求关于那个臭名昭著的方法retainCount的详细描述,以整合SO上流传的相关信息。 基础知识:不使用retainCount的官方理由是什么?是否存在任何情况下它可能会有用?应该使用什么代替?**请随意发表评论。 历...

35得票4回答
Python中的引用循环是什么?

我已经查看了Python官方文档,但似乎找不到什么是引用循环。有人能为我澄清一下吗?因为我正在尝试理解GC模块。提前感谢您的回复。 我无法找到“引用循环”的定义。请问这个术语是什么意思?

30得票2回答
为什么在 C 语言中返回 Py_None 前需要执行 Py_INCREF(Py_None)?

为什么在C中返回Py_None之前需要执行Py_INCREF(Py_None)?Py_INCREF(Py_None); return Py_None; 如果省略 Py_INCREF(Py_None),会发生什么?

28得票1回答
如何使用Arc在不同线程之间共享可变对象?

我正在尝试使用 Arc 在 Rust 的不同线程之间共享一个可变对象,但是我遇到了以下错误:error[E0596]: cannot borrow data in a `&` reference as mutable --> src/main.rs:11:13 | 11...