ASSERT,就是确认参数的值不为零,release编译时为空,就是不编译加入代码中
VERIFY在debug编译时相同,但release编译时参数中的代码还是会存在.

解决方案 »

  1.   

    可是msdn上的例子不是判断参数是否为0,第一个判断是否为NULL,第二个直接判断参数,没与什么比较,这又是什么意思呢?CAge* pcage = new CAge( 21 ); // CAge is derived from CObject.
    ASSERT( pcage!= NULL )
    ASSERT( pcage->IsKindOf( RUNTIME_CLASS( CAge ) ) )
      

  2.   

    就是看ASSERT() 中的是否为TRUE 
      

  3.   

    就是判断括号中的表达式是真是假呀
    assert只用在debug版中,release版中,他已不存在
    而VERIFY呢,在debug版中和assert相同,但是在release版中他仍然存在,并且,
    即使 他所判断地表达式是假,他也不会打印出错信息和中断程序。
      

  4.   

    所以在msdn上有这样一段话:
    For a test application,
    // this use of VERIFY() is fine. For any production code, this
    // usage is dubious.
    意思大概是verify宜用于debug版,在发行版中使用,其作用值得怀疑。