Актуальные темы
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Совет Zig: `errdefer comptime unreachable;` обеспечит на этапе компиляции, что с этого момента ничего не может потерпеть неудачу. Это крайне важный паттерн, поскольку `errdefer` (очистка при ошибке) часто зависит от определенного состояния мира, и это утверждение это подтверждает.
Пример использования: Я работаю над функциональностью, которая получает некоторые данные, настраивает кучу буферов, а затем меняет буферы местами. У меня есть несколько `errdefer`, разбросанных по коду, чтобы очистить новый создаваемый буфер.
Но после того, как я поменяю буферы местами, эти `errdefer` теперь НЕКОРРЕКТНЫ. Они приведут к двойному освобождению памяти.
Поэтому, прямо когда я меняю буферы местами, я ставлю `errdefer comptime unreachable` и комментарий, объясняющий, почему важно, чтобы ошибки не происходили после этого.
Если мне когда-либо понадобятся ошибки после этого, это заставит меня пересмотреть, как я делаю очистку ошибок. Очень хорошо!

Топ
Рейтинг
Избранное
