Кирилл Аверьянов - Copy on Write в Swift

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 ต.ค. 2024

ความคิดเห็น • 4

  • @yegorunknown4475
    @yegorunknown4475 3 ปีที่แล้ว +2

    Интересно, но в конце автору задают вопрос и он невнятно отвечает. После я пошел проверять. И проблема!
    Опционал всегда ссылается на разную область памяти.

    • @ЮрийСавчук-о9ь
      @ЮрийСавчук-о9ь 2 ปีที่แล้ว +8

      Optional - это enum, который внутри содержит value. Если присвоить optional переменную другой переменной, произойдет копирование инстанса enum и его содержимого, как и в случае если скопировать value в другую переменную напрямую. Если в качестве значению будет храниться массив, то он тоже будет копирован, но вот данные которые он хранит скопированы не будут, так как для них реализован механизм COW. По этому никакой разницы нету. Это тоже самой что если массив хранить в качестве свойства другой структуры, при копировании этой структуры механизм COW для массива все равно будет работать.

  • @gabibli
    @gabibli 11 หลายเดือนก่อน +2

    Такой себе оратор