Standard C++ Library Reference ISO/IEC (VERSION3)
Next
<assert.h>
Include the standard header <assert.h> to define the macro assert, which is useful for
diagnosing logic errors in the program. You can eliminate the testing code produced by the
macro assert without removing the macro references from the program by defining the
macro NDEBUG in the program before you include <assert.h>. Each time the program
includes this header, it redetermines the definition of the macro assert.
#undef assert
#if defined NDEBUG
#define assert(test) (void)0
#else
#define assert(test) <void expression>
#endif
assert
#undef assert
#if defined NDEBUG
#define assert(test) (void)0
#else
#define assert(test) <void expression>
#endif
If the int expression test equals zero, the macro writes to stderr a diagnostic message that
includes:
the text of test●
the source filename (the predefined macro __FILE__)●
the source line number (the predefined macro __LINE__)●
It then calls abort.
You can write the macro assert in the program in any side-effects context.
See also the Table of Contents and the Index.
Copyright © 1989-2001 by P.J. Plauger and Jim Brodie. All rights reserved.