Интересно, но в конце автору задают вопрос и он невнятно отвечает. После я пошел проверять. И проблема! Опционал всегда ссылается на разную область памяти.
@ЮрийСавчук-о9ь2 жыл бұрын
Optional - это enum, который внутри содержит value. Если присвоить optional переменную другой переменной, произойдет копирование инстанса enum и его содержимого, как и в случае если скопировать value в другую переменную напрямую. Если в качестве значению будет храниться массив, то он тоже будет копирован, но вот данные которые он хранит скопированы не будут, так как для них реализован механизм COW. По этому никакой разницы нету. Это тоже самой что если массив хранить в качестве свойства другой структуры, при копировании этой структуры механизм COW для массива все равно будет работать.