Kri*_*s2k 3 automatic-ref-counting swift swift5
我了解到 Swift 使用自动引用计数(ARC)进行内存管理。我想知道structSwift 中的值类型 () 是如何工作的。
\n\n引用计数仅适用于类的实例。结构体和枚举是值类型,而不是引用类型,并且通过引用存储和传递。
\n
自动引用计数仅适用于引用类型,因为这些类型是:
\n这确实意味着某些系统必须跟踪此类类型(对象)的实例何时不再被引用,以便可以清理分配。
\n相反,值类型不具有与对象相同的身份概念:
\n值类型不需要分配,也不需要通过诸如析构器之类的东西来维护需要清理的状态。最终结果是不需要跟踪最后一次使用某个值的时间(因为严格不需要重新分配),因此不需要用于清理的引用计数。
\n高级说明:值类型可以在堆上分配(特别是如果它们足够大),但这是 Swift 的实现细节。如果 astruct被分配,Swift 本身将代表您维护分配和释放,同时仍然按 value透明地传递它。仍然不可能对 this 进行多个引用struct,因此引用计数仍然与它无关(例如,引用计数只能为 0 或 1,因此跟踪没有意义)。
| 归档时间: |
|
| 查看次数: |
674 次 |
| 最近记录: |