自定义的一些宏定义
1、返回宏
#ifndef USE_QT_PRINT #define PRINTF_LOCATION() std::cout<<"ret in:" << __FILE__ << " at:"<<__LINE__ << std:: endl #else #define PRINTF_LOCATION() qDebug()<<"ret in:" << __FILE__ << " at:"<<__LINE__ #endif #define RET_VALUE_IF_NOT_EAQU(a,b,c) \ do { \ if(a!=b) \ { \ PRINTF_LOCATION();\ return c; \ } \ } while (false) #define RET_VALUE_IF_EAQU(a,b,c) \ do { \ if(a==b) \ { \ PRINTF_LOCATION();\ return c; \ } \ } while (false) #define RET_IF_NOT_EAQU(a,b) \ do { \ if(a!=b) \ { \ PRINTF_LOCATION();\ return; \ } \ } while (false) #define RET_IF_EAQU(a,b) \ do { \ if(a==b) \ { \ PRINTF_LOCATION();\ return; \ } \ } while (false)
2、获取当前代码位置
#define FILE_NAME __FILE__ #define LINE_COUNT __LINE__ #define getCodeLocate() QString("error at %1 in %2.").arg(LINE_COUNT).arg(FILE_NAME)
3、死循环
#define Q_FOREVER for(;;) #define forever Q_FOREVER
4、函数相关
函数名 : __FUNCTION__
函数修饰 : __FUNCDNAME__
函数签名 : __FUNCSIG__
长风破浪会有时,直挂云帆济沧海!
可通过下方链接找到博主
https://www.cnblogs.com/judes/p/10875138.html