assert格式
assert是C语言中的一个宏定义,基本格式为
assert(bool expression);
当bool expression的值为True,则assert不做任何动作;否则会在stderr中输出一条错误信息,其格式如下:
Assertion failed: [expression], file [filename], line [nnn]
assert的用法
在我们的代码中,若认为某些条件测试应该始终为真,就可以相应地放置assert
assert一般用于以下几个地方
- 模块输入参数的有效性检查(如数组长度不能小于0)
- 单元测试
- 特性维护(如数组下标不越界)
我的理解是:若含有assert的模块能通过充分的测试,则说明在代码不变动的情况下assert对应的条件是始终成立的,因此在测试完毕后可禁用assert
其他
1.assert的参数应该是一个单纯