Программирование на C и C++

Онлайн справочник программиста на C и C++

assert

void assert(int exp)

Прототип: 
Описание: 

Макрос assert() пишет сообщение об ошибке в stderr и завершает программу в том случае, если выражение ехр равно 0. В противном случае, если ехр не равно 0, макрос assert() не производит никаких действий.

Вывод имеет следующий формат:
Assertion failed: ехр, file , line

Макрос assert() обычно используется для проверки корректности работы программы.

Нет необходимости удалять инструкцию assert() из исходного кода после отладки программы, поскольку если макрос NDEBUG определен перед включением заголовочного файла assert.h, то макрос assert() игнорируется.

Пример: 
Следующий фрагмент кода используется для тестирования данных, прочитанных с последователь­ного порта в формате ASCII (это означает, что седьмой разряд не используется):
...
ch = read_port();
assert(!(ch & 128)); /* проверка седьмого бита */
...