断言:
基本使用:
//#define NDEBUG //加上这个的话,断言都会失效
#include<assert.h>
void assert(scalar expression);//只有assert里不满足条件就会报错
调试信息:
#define DEBUGPRINF //去掉这个可以去掉调试信息
#indef DEBUGPRINF
#define dbprintf(...) print(__VA_ARGS__)
#else
#define dbprintf(...)
#endif
例子:
#include <iostream>
//#define NDEBUG
#include <assert.h>
#include <stdio.h>
#define DEBUGPRINF
#ifdef DEBUGPRINF
#define dbprintf(...) printf(__VA_ARGS__)
#else
#define dbprintf(...)
#endif
using namespace std;
int main(void)
{
float i=100.0;
assert(i>=0);
printf("Hello World!\n");
dbprintf("liuyude\n");
}