Wpis z mikrobloga

@karol221-10: W sumie dałem plusa (bo jest #cpp), ale z drugiej strony konstruktywna krytyka:

Używaj asercji. To bardzo dobry wynalazek. Sprawia, że możesz być spokojny o to, że twój program wykonuje się prawidłowo.


https://en.cppreference.com/w/cpp/error/assert

If NDEBUG is defined as a macro name at the point in the source code where is included, then assert does nothing.


Do tego, gdyby nawet assert działał w kodzie produkcyjnym, to nie polecam. Chyba nie
  • Odpowiedz
@karol221-10:

Musimy nauczyć się z nim żyć, a nawet próbować wykorzystywać undefined behavior na własną korzyść


(°°

Do UB nigdy nie powinno dojść, ponieważ NIGDY nie wiesz, co wtedy się wydarzy. Dodatkowo, kompilatory wykorzystują UB jako dodatkową furtkę do optymalizacji, ponieważ zakładają, że do UB nigdy nie dochodzi.
  • Odpowiedz
@CppPolska: Dzięki za opinię :) Chodziło mi oczywiście o wykorzystanie asercji podczas debugowania kodu. Mogło się do wydawać niejasne podczas czytania, dlatego dodałem adnotację w nawiasie.
  • Odpowiedz