You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift中空数组字面量是否会分配零容量存储空间?

Swift中空数组字面量的存储空间分配问题

执行代码let arr: [Int] = []时,不会分配任何用于存储元素的缓冲区。

Swift的数组实现做了针对性优化:所有同类型的空数组都会复用一个全局共享的空实例,这个实例的容量为0,完全不占用堆内存空间。

你可以通过简单的代码验证这一点:

let arr: [Int] = []
print(arr.capacity) // 输出:0

capacity返回0,直接说明该数组没有分配可容纳元素的内存缓冲区。

另外,这种优化不局限于字面量创建的空数组,调用Array<Int>()初始化的空数组也会复用同一个共享实例,避免无意义的内存分配操作。

内容的提问来源于stack exchange,提问作者Isaaс Weisberg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 07:17:33