Управление памятью (ARC)
Структуры управляются автоматически через подсчёт ссылок (ARC) —
писать free/delete не нужно, память освобождается сама, когда на
объект больше никто не ссылается.
Текст частично под управлением ARC — простые локальные переменные, цепочки конкатенации, результаты некоторых функций и **текстовые поля структур** отслеживаются и освобождаются автоматически.
⚠️ Как именно устроено для полей структур: каждое текстовое поле,
при записи (в конструкторе или прямым присваиванием `объект.поле =
...;`), автоматически получает свою собственную копию переданного
текста — независимо от того, был это литерал ("Аня") или уже готовое,
вычисленное значение. Это гарантирует, что структура всегда владеет
содержимым своего текстового поля и может безопасно освободить его при
уничтожении — за счёт одного лишнего копирования памяти при каждой
записи такого поля.
Переприсваивание внутри циклов тоже корректно отслеживается — решение
"освобождать ли старое значение" принимается в рантайме через скрытый
флаг владения, а не один раз при компиляции (см. подробности в
ИСТОРИЯ_РАЗРАБОТКИ.md). Полный, честный список того, что ещё не
покрыто — в разделе "Известные ограничения" выше.