assert断言

assert:
     首先要包含头文件<assert.h>

头文件定义的宏assert(),用于在运行时确保程序符合指定条件,如果不符合,就会报错终止运行。这个宏被称为“断言”。
例如下面的两行代码所示,一旦程序不符合条件,编译器就会报错,并且给出错误信息。当然 ,如果符合条件,assert对程序没有任何影响,程序继续执行。

 assert()接受一个表达式作为参数,并不是只能断言指针,例如

assert的好处:

1、出现错误的时候,直接会报错,指明在什么文件,哪一行
2、我们确定程序无错误,不需要assert的时候,我们无需改动代码,直接在头文件前定义#define NDEBUG
而在我演示代码的vs中,Release版本是直接优化掉assert,此时不需要添加#define NDEBUG,这样的好处就是有利于程序员在debug中使用assert排查问题,提高效率 。

在我们写代码时,如果担心下面会出现错误,我们不妨使用assert对条件进行断言,这样可以很方便的预防代码错误,也有利于我们修正代码,并且在程序无错误时也不影响代码的运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值