写时复制 (Copy-on-Write, 简称 CoW) 是 Swift 中一种非常重要的内存管理和性能优化机制。 简单来说,它的核心思想是:只有当真正需要修改数据时,才进行物理拷贝;在此之前,多个变量共享同一份内存数据。 以下是关于 Swift 中 CoW 机制的详细解析: --- 1. 核心概念 在 Swift 中,类型分为 值类型 (Value Types)(如 , )和 引用类型 (Reference Types)(如 )。 理论上:当你把一个值类型赋值给另一个变量,或者作为参数传递给函数时,应该发生拷贝(Copy)。 实际上:对于像 、、 和 这样的大型数据结构,如果每次赋值都进行深拷贝,性能开销会非常巨大。 CoW 就是为了解决这个问题: 当你执行 时,Swift 并不会立即复制 的底层数据。 和 实际上指向内存中的同一个缓冲区(Buffer)。只有当你试图修改 (例如 )时,Swift 才会检测到该内存被多个变量共享,此时它会先拷贝一份数据给 ,然后在新的副本上进行修改。 2. 标准库中的 CoW 行为演示 Swift 标准库中的集合类型(Array, Dictio...