C++中assert的作用
2016-04-10 20:53
351 查看
assert()这个函数在C++中用的比较少,但是有以次面试被问及到了,我就说了个中断,然后面试官让我过了,所以记录一下,查了下资料,原来如此!
assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:
#include <assert.h>
void assert( int expression );
assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,
然后通过调用 abort 来终止程序运行。
int a=1;
int b=2;
cout<<"next function is assert!"<<endl;
assert((a<b ? 0:1));
a+=b; //从这里以后都不执行;
cout<<a<<endl;
运行的结果:
或者是下面这样:
fp = fopen( "noexitfile.txt", "r" );//以只读的方式打开一个文件,如果不存在就打开文件失败
assert( fp ); //所以这里出错
fclose( fp ); //程序永远都执行不到这里来
assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:
#include <assert.h>
void assert( int expression );
assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,
然后通过调用 abort 来终止程序运行。
int a=1;
int b=2;
cout<<"next function is assert!"<<endl;
assert((a<b ? 0:1));
a+=b; //从这里以后都不执行;
cout<<a<<endl;
运行的结果:
或者是下面这样:
fp = fopen( "noexitfile.txt", "r" );//以只读的方式打开一个文件,如果不存在就打开文件失败
assert( fp ); //所以这里出错
fclose( fp ); //程序永远都执行不到这里来
相关文章推荐
- c++语法笔记
- Calling C and C++ from IDL (二)——变量传递
- C/C++中volatile关键字
- C++ 语法实验室之const_cast,static_cast,dynamic_cast
- 大型分布式C++框架《二:大包处理过程》
- c++第三次实验—类和对象2
- 二叉查找树 C++实现
- C++游戏系列3:用多文件组织角色类
- 枚举小结
- 1026_5位以内的对称素数
- [LeetCode]33. Search in Rotated Sorted Array
- 统计数字(C++)
- C++ STL 整理
- C++ Map(list与数组的结合char型)(hash算法.)
- C++ Map(list与数组的结合int型)(hash算法.)
- C++ 模板特化
- C语言中,数组名作为参数传递给函数时,退化为指针
- 第10课 C++中的新成员
- C++封装、继承、多态
- 大话设计模式C++实现-第22章-桥接模式