The header <cassert> provides a macro for documenting C++ program assertions and a mechanism for disabling the assertion checks.
#define assert(E) see below
An expression assert(E) is a constant subexpression, if
NDEBUG is defined at the point where assert is last defined or redefined, or
E contextually converted to bool is a constant subexpression that evaluates to the value true.