FRAMES NO FRAMES

Assert and NDEBUG
PREVIOUS NEXT

Most member functions of classes in Concert Technology are inline functions that contain an assert statement. This statement asserts that the invoking object and the member function parameters are consistent; in some member functions, the assert statement checks that the handle pointer is non-null. These statements can be suppressed by the macro NDEBUG. This option usually reduces execution time. The price you pay for this choice is that attempts to access through null pointers are not trapped and usually result in memory faults.

Compilation with assert statements will not prevent core dumps by incorrect code. Instead, compilation with assert statements moves the execution of the incorrect code (the core dump, for example) to a place where you can see what is causing the problem in a source code debugger. Correctly written code will never cause one of these Concert Technology assert statements to fail.

PREVIOUS NEXT