C/assert: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Lethern (dyskusja | edycje)
m powinno być err==0, przykład pokazuje jak użyć NDEBUG
m →‎Opis: ref
Linia 10:
:W ten sposób możemy oznaczyć w programie niezmienniki, czyli warunki, które niezależnie od wartości zmiennych muszą pozostać prawdziwe. Jeśli asercja zawiedzie, oznacza to, że popełniliśmy błąd w algorytmie, piszemy sobie po pamięci (nadając zmiennym wartości, których nigdy nie powinny mieć) albo nastąpiła po drodze sytuacja wyjątkowa, na przykład związana z obsługą operacji wejścia-wyjścia.
 
:Można łatwo pozbyć się asercji<ref>[https://www.geeksforgeeks.org/assertions-cc/ geeksforgeeks: assertions]</ref>, uwalniając kod od spowalniających obciążeń a jednocześnie nie musząc kasować wystąpień assert i zachowując je na przyszłość. Aby to zrobić, należy przed dołączeniem pliku nagłówkowego assert.h zdefiniować makro '''NDEBUG''', wówczas makro assert przyjmuje postać:
 
#define assert(ignore) ((void)0)