gpt4 book ai didi

c++ - 将错误代码映射到 C++ 中的字符串

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:55:10 25 4
gpt4 key购买 nike

将错误代码从枚举映射到字符串的更有效方法是什么? (在 C++ 中)

例如,现在我正在做这样的事情:

std::string ErrorCodeToString(enum errorCode)
{
switch (errorCode)
{
case ERROR_ONE: return "ERROR_ONE";
case ERROR_TWO: return "ERROR_TWO";
...
default:
break;
}

return "UNKNOWN";
}

如果我这样做会不会更有效率?:

#define ToStr( name ) # name;

std::string MapError(enum errorCode)
{
switch (errorCode)
{
case ERROR_ONE: return ToStr(ERROR_ONE);
case ERROR_TWO: return ToStr(ERROR_TWO);
...
default:
break;
}

return "UNKNOWN";
}

也许有人对此有任何建议或想法?谢谢。

最佳答案

如果你打算使用宏,为什么不一直使用:

std::string MapError(enum errorCode)
{
#define MAP_ERROR_CODE(code) case code: return #code ;
switch (errorCode)
{
MAP_ERROR_CODE(ERROR_ONE)
MAP_ERROR_CODE(ERROR_TWO)
...
}
#undef MAP_ERROR_CODE
return "UNKNOWN";
}

关于c++ - 将错误代码映射到 C++ 中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14279420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com