Popularne tematy
#
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 wskazówka: `errdefer comptime unreachable;` zapewni w czasie kompilacji, że od tego momentu nic nie może się nie udać. To jest niezwykle ważny wzór, ponieważ `errdefer` (sprzątanie w przypadku błędu) często zależy od konkretnego stanu świata i to to potwierdza.
Przykład zastosowania: Pracuję nad funkcjonalnością, która odbiera dane, ustawia szereg buforów, a następnie zamienia bufory. Mam kilka `errdefer` rozsianych, aby posprzątać nowy bufor, który jest budowany.
Ale po zamianie buforów, te `errdefers` są teraz ZŁE. Spowodowałyby ostateczne podwójne zwolnienie pamięci.
Więc, dokładnie w momencie, gdy zamieniam bufory, umieszczam `errdefer comptime unreachable` oraz komentarz wyjaśniający, dlaczego ważne jest, aby błędy nie mogły wystąpić po tym.
Jeśli kiedykolwiek będę potrzebował błędów po tym, zmusi mnie to do ponownego przemyślenia, jak robię sprzątanie błędów. Bardzo dobrze!

Najlepsze
Ranking
Ulubione

