Ключевые различия Collection и LazyCollection Collection — коллекция, элементы которой обрабатываются немедленно LazyCollection — коллекция с отложенным выполнением операций по мере необходимости Collection сразу…
контекст: общая концепция передачи аргументов в функции зависит от языка и типа данных: примитивные значения передаются по значению, а объекты — по ссылке или как копии ссылок в C/C++: базовые типы передаются по…
Почему Apple рекомендует выбирать let, а не var? let имеет блочную область видимости, тогда как var — функциональную let не позволяет случайно выполнить повторное объявление Использование const и let сокращает число…
Иммутабельность String и String Pool Объекты String в Java нельзя изменить после создания Неизменяемость обеспечивает потокобезопасность и возможность кеширования String Pool — специальная область памяти для строковых…
Swift, ARC, управление памятью unowned — неконтролируемая ссылка, которая не увеличивает счётчик ссылок weak — контролируемая ссылка: она изменяет счётчик и выполняет синхронизацию Для weak требуется атомарный доступ…
Чем отличаются System.Array.CopyTo() и System.Array.Clone() System.Array.Clone() формирует поверхностную копию массива: создаётся новый объект массива, однако элементы ссылочного типа по-прежнему указывают на те же…
Что такое indirect enum в Swift? Swift, перечисления (enum), программирование indirect разрешает создавать рекурсивные case case содержит ссылку, а не само значение применяется для описания составных структур:…
Что такое замыкания (closures)? понятие из функционального программирования и JS объединение функции с её лексическим окружением, то есть переменными внешнего скоупа сохраняет возможность обращаться к переменным после…