美文网首页
C++ assert

C++ assert

作者: AArman | 来源:发表于2023-01-30 09:53 被阅读0次
    1. 断言,是宏,而非函数。
      1. assert 宏的原型定义在 <assert.h>(C)、(C++)中。其作用是如果它的条件返回错误,则终止程序执行。可以通过定义 NDEBUG 来关闭 assert,但是需要在源代码的开头,include <assert.h> 之前。 void assert(int expression);
    // 输出会把源码文件,行号错误位置,提示出来
    assert(x==7);  //assert: assertTest.c:13: main: Assertion 'x==7' failed. 
    
    1. 断言与正常错误处理
      1. 断言主要用于检查逻辑上不可能的情况。
      2. 例如,它们可用于检查代码在开始运行之前所期望的状态,或者在运行完成后检查状态。与正常的错误处理不同,断言通常在运行时被禁用。
    #define NDEBUG  //忽略断言,在代码开头加上,则 assert 不可用
    

    参考资料:https://github.com/Light-City/CPlusPlusThings
    我的CSDN:https://blog.csdn.net/qq_17338093/article/details/128776091?spm=1001.2014.3001.5502

    相关文章

      网友评论

          本文标题:C++ assert

          本文链接:https://www.haomeiwen.com/subject/ojjmhdtx.html