zoukankan      html  css  js  c++  java
  • assert断言

    一、ASSERT概述
        ASSERT()称为断言,c语言中在#include <assert.h>中定义,c++中在#include <cassert>中定义。通常用来判断程序中是否出现了非法数据。
     
        如果ASSERT(express);express的表达式值为false,程序报告错误,终止运行,以免产生严重后果,同时也便于查找错误;表达式的值位true则继续执行后面的语句。
     
        ASSERT() 只在debug版本中有效,编译的Release版本则被忽略。另外,assert()是ANSIC标准中规定的函数,与ASSERT()功能相似,ASSERT()是宏,且assert()可以存在于Release中
     
        assert()的缺点是频繁调用会极大的影响程序的性能,增加额外开销。调试结束后,可以通过包含#include <assert.h>的语句之前插入#define NDEGUG来禁用assert()
    1 #include <stdio.h>
    2 
    3 #define NDEBUG
    4 
    5 #include <assert.h>
    二、使用注意事项
    1.assert() 在函数开始出检验传入参数的合法性!
     
    2.每个assert()一般只检查一个条件,因为如果同时检查多个条件,则无法直观判断是哪个条件失败。
     
    3.不能使用改变环境的语句,因为assert()只在DEGUB中生效。例如:
    assert(i++ < 100)就是错误的
  • 相关阅读:
    排列组合
    从$a_n=f(n)$的角度理解数列中的表达式$a_{n+1}=frac{k}{a_n}$
    洛必达法则的应用
    三角函数专题
    和差角公式的证明
    利用导数证明不等式
    常用数学模型整理
    教给学生知识的本源
    争鸣|两个易混概率题
    es6数组的复制
  • 原文地址:https://www.cnblogs.com/yuyang0920/p/7253565.html
Copyright © 2011-2022 走看看