C++随笔之assert
-
头文件:assert.h
-
函数
函数 功能 void assert(int expression) 判断expression的逻辑真假,如果为false,就会在stderr上面打印一条包含表达式、文件名、行号的错误信息,然后调用abort结束整个程序 -
示例:
#include <iostream> #include <assert.h> int main() { assert(1 == 1); std::cout << "第一个assert没有出错" << std::endl; assert(1 == 2); std::cout << "第二个assert没有出错" << std::endl; return 0; }
结果为:
testAssert: /home/szq/CLionProjects/testAssert/main.cpp:9: int main(): Assertion `1 == 2' failed. 第一个assert没有出错
-
缺点:
频繁地调用会极大影响程序的性能,增加额外的开销。已弃用。在调试结束后,可以通过在包含#include的语句之前插入#define NDEBUG来禁用assert调用