上學的時候經常看到一些VC編程方面的書上說,在用VC開發(fā)程序的時候,最好用VERIFY宏代替ASSERT,
當時不知道是其中的原因,今天看了兩個宏的定義,終于明白了。
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頭文件中可以看到完整定義。