ASSERT 和VERIFY

ASSERT

ASSERT( booleanExpression )

参数:

booleanExpression 指定了一个表达式(包含指针变量),其计算结果为非零值或0。


说明:
这个宏计算它的参数。如果结果为0,则输出一个调试信息并退出程序。如果结果为非零值,它什么也不做。
诊断信息具有如下形式:
assertion failed in file <name> in line <num>
这里的name是源文件的名字,num是源文件中断言失败位置的行号。
在MFC的发行版本中,ASSERT并不计算表达式的值,因而也不会中断程序。如果不管环境如何,表达式都必须被计算,用VERIFY宏来代替ASSERT。
注意:这个函数仅在MFC的调试版本中有效。

示例:
// ASSERT的例子
CAge* pcage = new CAge( 21 ); // CAge is derived from CObject.
ASSERT( pcage!= NULL )
ASSERT( pcage->IsKindOf( RUNTIME_CLASS( CAge ) ) )
// 仅当pcage不是一个CAge*指针时才结束程序。

 

 

VERIFY

VERIFY( booleanExpression )

参数:

booleanExpression 指定了一个表达式(包含指针变量),其计算结果为非零值或0。

说明:
在MFC的调试版本中,VERIFY宏计算它的参数。如果结果是0,这个宏就打印出一条消息并中止程序。如果结果为非零值,它就不做任何操作。
诊断消息的形式如下:
assertion failed in file <name> in line <num>
这里的name是源文件的名字,num是源文件中发生断言失败的位置的行号。
在MFC的发行版本中,VERIFY计算表达式的值,但是并不输出或中断程序。例如,如果这个表达式是一个函数调用,这个调用会被执行。

请参阅: ASSERT

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值