gpt4 book ai didi

objective-c - Swift 有标记指针吗?

转载 作者:搜寻专家 更新时间:2023-10-31 22:32:59 24 4
gpt4 key购买 nike

Objective-C 使用了一个叫做 tagged pointers 的东西在处理某些小对象类型(如 strings, dates, and numbers)时减少内存使用并提高速度.基本上,如果对象中的所有数据都可以放入指针中,运行时会将其放在那里,而不是分配和跟踪堆内存。

Swift有没有类似的机制?

最佳答案

来自 The Swift ABI :

Class Layout

Swift relies on the following assumptions about the Objective-C runtime, which are therefore now part of the Objective-C ABI:

  • (information about Objective-C tagged pointer layout ...)

The following assumptions are part of the Swift ABI:

  • Swift class pointers are never tagged pointers.

据我了解,Swift 处理 Objective-C 标记的指针,这些指针是从 Objective-C 运行时获取(例如 NSNumberNSDate),但不对纯 Swift 类使用标记指针。

关于objective-c - Swift 有标记指针吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35586045/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com