Use the ASSERT_VALID macro to perform a run-time check of an object’s internal consistency. The ASSERT_VALID macro is a more robust way of accomplishing
pObject->AssertValid();
Like the ASSERT macro, ASSERT_VALID is turned on in the debug version of your program, but turned off in the release version.