自定义的一些宏定义

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)
原文地址:https://www.cnblogs.com/judes/p/13279356.html