C++ , CppUnit , assert

上學的時候經常看到一些VC編程方面的書上說,在用VC開發程序的時候,最好用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頭文件中可以看到完整定義。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章