首先它们都是用作错误检测的宏,但有所区别:
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头文件中可以看到完整定义。
本文探讨了DEBUG和RELEASE模式下宏函数VERIFY和ASSERT的区别,详细解释了它们在不同模式下的行为,以及如何在VC环境中使用它们进行错误检测。

1403

被折叠的 条评论
为什么被折叠?



