To think ... there I have been happily programming in an MFC riddled environment for years, using ASSERT() whenever it seemed OK and just today I (was) stumbled upon the VERIFY Macro: http://msdn.microsoft.com/en-us/library/fcatwy09%28v=VS.71%29.aspx
It's basically the same as ASSERT() except the expression will not be removed in release builds (the check will, but the expression will still be evaluated).
#ifdef _DEBUG
#define VERIFY(f) ASSERT(f)
#else // _DEBUG
#define VERIFY(f) ((void)(f))
I can see a few uses for it, but I was wondering if others use it regularly in their code base and if anyone has seen any adverse side effects of using it.
cheers.