assert
Sintaxis:
#include <cassert> assert( exp );
La macro assert() se usa para detectar posibles errores. La expresión exp es evaluada por assert() y si el resultado de la evaluación es cero (o equivalentemente false), se escribe un mensaje a la salida de error estándar (stderr) y se termina el programa. Si la macro NDEBUG está definida cuando el programa es compilado, las macros de assert son ignoradas.
Si la condición probada por la macro assert es falsa, el programa es terminado inmediatamente, sin posibilidad de recuperación, por lo que assert sólo debiera utilizarse para probar invariantes cuyo incumplimiento indique una condición gravísima e imposible de recuperar. Para detectar condiciones y errores en los cuales es posible recuperarse durante la ejecución del programa, el mecanismo adecuado es el sistema de manejo de excepciones.
Tópicos Relacionados: abort, static_assert (en C++11).