verify和assert的区别

来源:互联网 发布:qq mac版怎么退出 编辑:程序博客网 时间:2024/04/27 15:01

首先它们都是用作错误检测的宏,但有所区别:

1、在DEBUG模式下,两个宏的功能是一样的

2、在RELEASE模式下,ASSERT不会对参数里的表达式进行计算,VERIFY会计算里面的表达式(如果是函数,将会调用该函数)。 

部分定义如下:

#ifdef _DEBUG

#define VERIFY(f)          ASSERT(f)

#else

#define ASSERT(f)          ((void)0)
#define VERIFY(f)          ((void)(f))

在VC的afx.h头文件中可以看到完整定义。

原创粉丝点击