通用预处理器宏assert()的用法

assert()是C语言标准库中提供的一个通用预处理器宏。在代码中常利用assert()来判断一个必需的前提条件,以便程序能够正确执行。例如,假定我们要读入一个文本文件,并对其中的词进行排序,必需的前提条件是文件名已经提供给我们了,这样我们才能打开这个文件。为了使用assert(),必须包含与之相关联的头文件:
#include <assert.h>
下面是一个简单的使用示例:
assert( filename != 0 );
assert()将测试filename 不等于0的条件是否满足。这表示,为了后面的程序能够正确执行,我们必须断言一个必需的前提条件。如果这个条件为假(即filename 等于0),断言失败,则程序将输出诊断消息,然后终止。
------------------------------------------------------------------------------------
assert.h 是C 库头文件的C,名字C++程序可以通过C库的C名字或C++名字来使用它。这个头文件的C++名字是cassert。C库头文件的C++名字总是以字母C开头,后面是去掉后缀.h的C名字、(由于在各种C++实现中,头文件的后缀各不相同,因此标准C++头文件没有指定后缀。)使用头文件的C名字,或者C++名字,两种情况下头文件的#include预处理器指示符的效果也会不同。下面的#include 指示符:
#include <cassert>
将cassert 的内容被读入到我们的文本文件中。但是由于所有的C++库名字是在名字空间std 中被定义的,因而在我们的程序文本文件中,它们是不可见的,除非用下面的using 指示符显式地使其可见:
using namespace std;
使用C 头文件的#include 指示符:
#include <assert.h>
就可以直接在程序文本文件中使用名字assert(),而无需使用using指示符。
库文件厂商用名字空间来控制全局名字空间污染(即名字冲突)问题,以避免它们的库“污染”了用户程序的名字空间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值