assert()是c语言标准库提供的一个通用的标准库预处理器宏。在代码中经常用assert()来判断一个必须的前提条件。例如:要打开一个文件,我们必须先知道合格文嘉你的名字,然后在可以打开为了使用assert()必须包含与之对应的头文件
#include < assert.h>
下面是一个简单的例子:
assert(filename!=0);
判断是否文件的名字为0。建兴断言,如果文件的 名字为0,那么断言失败,输出错误的诊断信息,然后中止程序。
assrt.h是c标准库头文件的c名字。c++程序可以通过使用c的库头文件的c名字或者c++的名字来使用它。
这个头文件的c++名字是cassert. c库头文件的c++名字总是以c开头,后面跟的是c名字去掉.h的名字。(因为c++中,头文件的后缀各不相同,所以标准的c++没有指定头文件的后缀).
使用c库头文件名字和使用c++的名字,那么#include 预处理器的效果也是不一样的。
例如:下面的#include指示符;
#include<cassert>
当我们把这个头文件读入我们的文本文件中的时候,头文件中的内容 好似不可见的。因为所有的c++库名字是在std名字空间中定义的。所以我们的文本文件是不可见的。除非我们使用using指示符显示地使其可见。
using namespace cassert;
使用c库的头文件就可以直接的在文本文件中使用assert()。而无需使用using指示符了。