20.4.2 assert宏

    assert宏是基于库函数_assert定义的,其接收一个表达式做参数,若该表达式为true,不执行任何操作,否则中断当前程序执行。当程序中定义了NDEBUG宏时,assert失效,就VC编译器来说,Debug模式默认定义_DEBUG宏而不是NDEBUG宏,而Release模式中定义了NDEBUG宏,因而在Debug模式下,assert宏会对表达式进行计算,并判断其值是否为true,而在Release模式下,不对表达式进行任何计算和判断。