【点滴收藏】assert宏

1.宏名: assert  

       功 能: 测试一个条件并可能使程序终止

  用 法: void assert(int test);

     assert() 宏用法

  注意:assert是宏,而不是函数。在C的assert.h 头文件中。

  assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:

  #include <assert.h>

  void assert( int expression );

  assert的作用是先计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,

  然后通过调用 abort 来终止程序运行。

 

    何时需要使用断言

  1.可以在预计正常情况下程序不会到达的地方放置断言 :assert false

  2.断言可以用于检查传递给私有方法的参数。(对于公有方法,因为是提供给外部的接口,所以必须在方法中有相应的参数检验才能保证代码的健壮性)

  3.使用断言测试方法执行的前置条件和后置条件

  4.使用断言检查类的不变状态,确保任何情况下,某个变量的状态必须满足。(如age属性应大于0小于某个合适值)

      什么地方不要使用断言

  断言语句不是永远会执行,可以屏蔽也可以启用

  因此:

  1.不要使用断言作为公共方法的参数检查,公共方法的参数永远都要执行

  2.断言语句不可以有任何边界效应,不要使用断言语句去修改变量和改变方法的返回值.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值