/* * @topic T00290 The <tt>assert()</tt> for proactive debugging * @brief Program demonstrates the use of <tt>assert()</tt> */ // Uncomment the following line to disable asserts //#define NDEBUG #include <cassert> #include <iostream> int main() { int sd = 99999999; // this assert will fail: assert( sd == 12345678 ); sd = 12345678; // this assert will succeed: assert( sd == 12345678 ); // Do not wrap function calls in asserts: // if function modifies some data, all of it is // lost if asserts are disabled by NDEBUG. // *** INCORRECT *** assert( result = validate( sd ) ); // Correct: bool result = validate( sd ); assert( result == true ); return 0; }