Сопоставление Junior Типы значений и ссылочные обновлено
Типы Swift: значение или ссылка
Вопрос
Сопоставьте тип и его семантику при присваивании.
Попробуйте сами
Нажмите слева, потом подходящее справа.
Показать ответ и разбор
Коротко
Структуры и коллекции стандартной библиотеки копируются (коллекции лениво, через copy-on-write). Классы, акторы и замыкания ссылочные.
Правильные пары
struct SettingsКопия значенияfinal class SessionОбщая ссылка, есть идентичность ===actor StoreСсылка с изоляцией состояния[Int]Значение с copy-on-write() -> VoidСсылка на замыкание с захваченным контекстомРазбор
Структуры и коллекции стандартной библиотеки копируются (коллекции лениво, через copy-on-write). Классы, акторы и замыкания ссылочные. Актор отличается от класса тем, что к его изменяемому состоянию нельзя обратиться снаружи синхронно.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
let и экземпляр класса: можно ли менять свойства
Следующий вопрос
Когда пропадает memberwise-инициализатор структуры
Ещё по теме «Типы значений и ссылочные»
- Copy-on-write у Array: когда копируется буфер
- Модификаторы borrowing и consuming
- Как сделать свой copy-on-write
- Existential container: как хранится any Protocol
- Типы значений и ссылочные типы в Swift
- Оператор === в Swift
- Зачем indirect у enum
- Задача на Swift: стек отмены для текстового поля