阿q的精神在当今的体现:C/C++中assert的用法 : 陈志伟博客
来源:百度文库 编辑:九乡新闻网 时间:2024/07/14 00:40:07
C/C++中assert的用法
2010-12-17 by zhiwei
3 Comments
assert宏能测试传入表达式的真假值,当表达式为真(true),则不会有任何反应;当表达式为假(false),则函数将输出错误信息,并中断程序的执行。
assert宏可以用来判断某表达式的真假值,并在程序执行的过程中实时响应错误信息,因此在程序开发的过程中,常常被用来作程序纠错的工具,当程序开发完成,只需要在加载头文件前面,利用#define指令定义NDEBUG这个关键字,则所有assert都会失效,源程序不需做任何修改。
当传入的表达式为真,则assert不会有任何响应;当表达式为假时,assert函数会显示出发生错误的表达式、源代码文件名以及发生错误的程序代码行数,并调用abort函数,结束程序执行。
今天在群里讨论了一下关于assert用法的问题,自己现在算是明白了。
代码如下:
1 2 3 4 5 6 7 8 9 10
int main() { int i=0; while(i!=9) { i+=2; assert(i++); } return 0; }
问,这个循环了多少次?
注意:assert is designed to capture programming errors, not user or running errors。所以不要滥用assert。诸如assert(i++)之类的用法毫无意义。
关于assert的说明在这里:http://www.cplusplus.com/reference/clibrary/cassert/assert/
C/C++中assert的用法 : 陈志伟博客
[c、c++]宏中"#"和"##"的用法(zz)
C语言中sizeof的用法总结
[c语言] #define的用法
c语言中static 用法总结
C语言中sprintf用法详解
c/c++中const用法总结
const用法详解 - C/C / C 语言
只言片语中c的人生哲理
关于C/C++中的const的用法的总结
C语言中常见的英语单词缩写
C语言中offsetof宏的应用
C 中Reference与指针(Pointer)的使用对比 - wu928320442的专栏 - CSDN博客
释放C盘空间 27招具体优化技巧 - 花中呓语的日志 - 网易博客
萧功秦的博客 -- 腾讯博客 [http://xiaogongqin.qzone.qq.c...
浅析C语言中关于字符串的操作 - C/C++ - 课堂 - 话题 - 张剑 - CSDN学...
[C VC] iconv库的使用 - 毛C毛Py的专栏 - CSDN博客22
跟自己说声对不起 - 依水寒的个人空间 - 中广博客 欢迎您光临 - blog.cnr.c...
C语言中Void详解
中国军 c 衔图解
python中调用c++(Boost
详解C中volatile关键字
C/C复合材料的军事应用 求助
C语言中一个字节对齐问题的分析