C/C++基础知识收集(不断更新)
2008-02-18 19:05
381 查看
一、什么是ASSERT()? ASSERT()和assert()的区别是什么?
ASSERT()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。这个宏通常原来判断程序中是否出现了明显非法的数据,如果出现了终止程序以免导致严重后果,同时也便于查找错误。例如,变量n在程序中不应该为0,如果为0可能导致错误,你可以这样写程序:
......
ASSERT( n != 0);
k = 10/ n;
......
ASSERT只有在Debug版本中才有效,如果编译为Release版本则被忽略。
assert()的功能类似,它是ANSI C标准中规定的函数,它与ASSERT的一个重要区别是可以用在Release版本中。
ASSERT()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。这个宏通常原来判断程序中是否出现了明显非法的数据,如果出现了终止程序以免导致严重后果,同时也便于查找错误。例如,变量n在程序中不应该为0,如果为0可能导致错误,你可以这样写程序:
......
ASSERT( n != 0);
k = 10/ n;
......
ASSERT只有在Debug版本中才有效,如果编译为Release版本则被忽略。
assert()的功能类似,它是ANSI C标准中规定的函数,它与ASSERT的一个重要区别是可以用在Release版本中。
相关文章推荐
- 关于C++的基础易错知识(源于各种笔试题,自己要记得不断更新)
- C/C++ 基础知识学习笔记 (不断更新中)
- object-c基础知识(不断更新)
- Linux小知识收集(不断更新)
- JAVA基础知识介绍,不断更新
- python基础知识总结(不断更新)
- C++基础知识易错点和易混淆总结汇总(不定时更新)
- python基础知识总结(不断更新。。。。)
- 积累一些不太常用的C/C++语言知识(不断更新)
- Java基础知识积累,不断更新ing
- C++琐碎知识(不断更新)
- C++基础知识系列--持续更新
- web编程的基础知识——他山之石(不断更新)
- Linux中最需要知道的基础知识(不断更新中)
- 计算机基础知识备忘录(不断更新)
- 收集javascript中一些容易忽略的知识(不断更新)
- LINUX需要掌握的基础知识(不断更新)
- JS基础知识再整理..........不断更新中
- C/C++基础(不断更新)
- 数据库设计的基础知识(不包含范式)不断更新中