Что означает indirect enum в Swift?
В каких случаях для enum требуется использовать indirect и что это меняет с точки зрения памяти?
Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Рейтинг:
2
Сложность:
4
indirect позволяет enum хранить рекурсивные значения. Используется для создания сложных структур данных вроде связных списков.
Рейтинг:
5
Сложность:
7
indirect требуется, когда enum содержит себя напрямую или косвенно через associated values. Оно изменяет способ хранения данных: значение перестаёт храниться целиком внутри enum и выносится в heap. Это позволяет компилятору определить размер типа. При этом появляются дополнительные затраты на выделение памяти и разыменование ссылки.