c 样式指针和 id 样式对象有什么区别



可能的重复项:
目标 C ID 和 VOID 之间的差异 *

在基础框架中阅读NSZone.h时,我遇到了一条评论,提到"更像是c样式指针而不是id样式对象"。我意识到我不明白其中的区别。

c 样式指针和 id 样式对象有什么区别?

C 指针可以指向任何内容 - 对象、结构、原始字节、字符串......

"id"指针指向Objective-C对象的实例。'id' 是非类型化的,因此它可以指向任何类的实例。键入类似 NSObject* 的内容;你知道它指向什么样的物体。

标题似乎专门讨论Objective-C垃圾回收器如何处理事物。从malloc()获取的泛型指针不由收集器管理,而对象则由收集器管理。该注释是在 NSMakeCollectable() 上,这是一个在 CoreFoundation 风格的对象上启用 GC 的函数。

最新更新