在 zflog 库中我看到了这段代码
static char* lvl_char(const int lvl)
{
switch (lvl)
{
case ZF_LOG_VERBOSE:
return "VERBOSE\0";
case ZF_LOG_DEBUG:
return "DEBUG\0";
case ZF_LOG_INFO:
return "INFO\0";
case ZF_LOG_WARN:
return "WARN\0";
case ZF_LOG_ERROR:
return "ERROR\0";
case ZF_LOG_FATAL:
return "FATAL\0";
default:
ASSERT_UNREACHABLE("Bad log level");
return "?\0";
}
}
这对我来说似乎很奇怪。我们真的可以从静态函数返回一个本地 c 字符串吗?