COW — оптимизация value types: копирование Array/Dictionary/String делит буфер до мутации; уникальность буфера проверяется перед записью.
Разбор
- Чтение копий дёшево; запись может вызвать реальное копирование.
isKnownUniquelyReferenced используется в своих COW-типах.
- Передача в
inout/& может сохранить уникальность.
- Класс внутри struct ломает «логическую» COW-независимость данных класса.
Итог
COW даёт value semantics коллекций с разумной стоимостью копий.