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

  1. 可以在预计正常情况下程序不会到达的地方放置断言 :assert false
  2. 断言可以用于检查传递给私有方法的参数。(对于公有方法,因为是提供给外部的接口,所以必须在方法中有相应的参数检验才能保证代码的健壮性)
  3. 使用断言检查类的不变状态,确保任何情况下,某个变量的状态必须满足。(如age属性应大于0小于某个合适值)
  4. 断言core程序时, 会保留完整的信息, 比if...else...在追查问题方面方便.