c++提供了两种比较好的调试工具,他们就是assert和debug,他们可以在调试运行的时候假如在代码里边,在即将发布的时候删除这些代码即可。
assert定义在cassert头文件里边,但是由于assert在很多文件里都有定义,所以有可能当你包括其他的头文件的时候已经包含了assert的定义。
assert使用的时候,只需要assert()即可,括号里边是一个表达式,如果这个表达式为false的话,就会爆出错误并且终止程序的运行。
NDEBUG是一个宏定义,如果定义了NDEBUG的话,遇见了assert的话,就什么也不做,如果没有定义ndebug的话,遇见了assert的话,就会执行对应的代码,一种比较好的做法就是,在调试开发的时候#define不定义,在程序即将发布的时候就定义。
assert定义在cassert头文件里边,但是由于assert在很多文件里都有定义,所以有可能当你包括其他的头文件的时候已经包含了assert的定义。
assert使用的时候,只需要assert()即可,括号里边是一个表达式,如果这个表达式为false的话,就会爆出错误并且终止程序的运行。
NDEBUG是一个宏定义,如果定义了NDEBUG的话,遇见了assert的话,就什么也不做,如果没有定义ndebug的话,遇见了assert的话,就会执行对应的代码,一种比较好的做法就是,在调试开发的时候#define不定义,在程序即将发布的时候就定义。