алгоритм сжатия выполняется достаточно долго, декомпрессия идёт относительно медленно и сильно расходует оперативную память (сотни мегабайт).
Файл запакован в несколько слоев и при распаковке выделяет память в десятки тысяч раз больше своего размера. После чего помечает эту память исполняемой. Любой поведенческий анализ будет ругаться на такое.
Что-то Sparse Set память не сильно экономит. Например, используя 10-ти битные числа, нужно положить значения 1,10,100,1000 В обычном векторе: 4 числа и 3 указателя. sdt::bitset: 1024 бита. (32 числа) Sparse Set: 2049 чисел.
Только вы не открывали двери, а выяснили, что любую дверь производителя можно открыть удаленно с сервера просто передав адрес двери. И вот уже производитель пытается засудить вас за взлом всех своих дверей.
А не может ли программист подать встречный иск к компании, ведь компания сама предоставила ПО, которое предоставляет эти данные практически на блюдечке?
.NET CLR гарантирует, что инициализация любого статического поля гарантированно произойдет до его использования и произойдет не более одного раза.
И где это написано в документах на среду? В среде определен лишь порядок в котором будет происходить инициализация при первом обращении к классу:
статические поля в порядке объявления
статические конструктор, если есть.
Таким образом, если первым статическим полем сделать экземпляр самого класса, то в самом начале вызовется конструктор экземпляра, ещё до статического конструктора и во время инициализации этого поля.
ПС. Если в примера автора статьи конструктор World создаст объект, который в конструкторе попытается получить доступ к World, то произойдет упс.
Коллекция ключей может быть реализована как тонкая обертка над самим словарем, которая при перечислении вместо пары ключ-значение возвращает просто ключ. Это сильно экономит память, но не дает обращаться по индексу.
Похоже на дизеринг https://habr.com/ru/companies/wunderfund/articles/680154/
При этом все примеры лямбд из с++11 без указания типа возвращаемого значения
В фантастике уже всё придумано до нас
http://books.rusf.ru/unzip/add-on/xussr_av/varshi81.htm?1/1
Странно, что винрар не попал в nagware, ведь он при запуске показывает окошко с просьбой купить лицензию.
Прямо как в жизни: больше всего проблем кошкам доставили двери.
Файл запакован в несколько слоев и при распаковке выделяет память в десятки тысяч раз больше своего размера. После чего помечает эту память исполняемой.
Любой поведенческий анализ будет ругаться на такое.
Что-то Sparse Set память не сильно экономит.
Например, используя 10-ти битные числа, нужно положить значения 1,10,100,1000
В обычном векторе: 4 числа и 3 указателя.
sdt::bitset: 1024 бита. (32 числа)
Sparse Set: 2049 чисел.
Только вы не открывали двери, а выяснили, что любую дверь производителя можно открыть удаленно с сервера просто передав адрес двери.
И вот уже производитель пытается засудить вас за взлом всех своих дверей.
Поэтому и написали в стандарте, что по умолчанию указатели на несовместимые типы не равны. И это верно в 99% случаев.
Добавьте сюда "иностранных" специалистов, пишущих на языке, который понять ещё можно, но назвать этот язык русским уже сложно
А не может ли программист подать встречный иск к компании, ведь компания сама предоставила ПО, которое предоставляет эти данные практически на блюдечке?
Вроде бы это работает только тогда, когда временный объект сохраняется в локальную ссылочную переменную.
Это уже какой-то ретрокиберпанк, в котором хакеры охотятся за секретной перфокартой с секретным кодом на Фортране.
Предлагаю добавить функцию, которая возвращает код последней возникшей ошибки, и назвать её, например, errno.
Довольно расточительно блокировать интерфейс, ожидая окончания фоновой задачи.
Скорее доработают ИИ, и он сможет объяснить, что делает система, написанная 50 лет назад на Фортране.
И где это написано в документах на среду?
В среде определен лишь порядок в котором будет происходить инициализация при первом обращении к классу:
статические поля в порядке объявления
статические конструктор, если есть.
Таким образом, если первым статическим полем сделать экземпляр самого класса, то в самом начале вызовется конструктор экземпляра, ещё до статического конструктора и во время инициализации этого поля.
ПС. Если в примера автора статьи конструктор World создаст объект, который в конструкторе попытается получить доступ к World, то произойдет упс.
Я так понял, что переменная val существует в единственном экземляре, и на каждой итерации в неё копируется значение очередного элемента контейнера.
Коллекция ключей может быть реализована как тонкая обертка над самим словарем, которая при перечислении вместо пары ключ-значение возвращает просто ключ. Это сильно экономит память, но не дает обращаться по индексу.
В этих студиях место закончилось на стенах и даже на потолке?