- 含义
给a加双引号,比如:
XX(name) --------> "name"
- 举例
const char* LogLevel::ToString(LogLevel::Level level) {
switch(level) {
//下面的宏使用了宏函数和#name,将name直接加双引号
#define XX(name) \
case LogLevel::name: \
return #name; \
break;
//下面不用加;加了分号不会报错,加了分号每一行是两条语句,最后一条是空语句
XX(DEBUG)
XX(INFO)
XX(WARN)
XX(ERROR)
XX(FATAL)
#undef XX
default:
return "UNKNOW";
}
return "UNKNOW";
}