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)就是错误的
  • 相关阅读:
    使用POI操作Excel时对事先写入模板的公式强制执行
    centos7下python3和pycharm安装
    IntelliJ IDEA 快捷键终极大全
    netcore XmlDocument 使用Load和Save方法
    Add File as a Link on Visual Studio
    C#开源项目
    Shell bash和sh区别
    SecureCRT中Vim颜色
    查找局域网中未知设备的IP
    代码分支管理
  • 原文地址:https://www.cnblogs.com/yuyang0920/p/7253565.html
Copyright © 2011-2022 走看看