在C++中,可以使用标准库中的std::map或std::unordered_map将枚举值转换为字符串。以下是一个通用的示例代码:
c复制代码
#include <iostream> | |
#include <map> | |
#include <string> | |
enum class Color { | |
RED, GREEN, BLUE | |
}; | |
std::map<Color, std::string> color_to_str = { | |
{Color::RED, "red"}, | |
{Color::GREEN, "green"}, | |
{Color::BLUE, "blue"} | |
}; | |
std::string str_to_color(const std::string& str) { | |
for (const auto& pair : color_to_str) { | |
if (pair.second == str) { | |
return pair.first; | |
} | |
} | |
return ""; | |
} | |
int main() { | |
Color c = Color::RED; | |
std::string str = str_to_color(c); | |
std::cout << str << std::endl; // 输出 "red" | |
return 0; enum c++ | |
} | |
在这个示例代码中,定义了一个Color枚举类型,其中包含了三个枚举值RED、GREEN和BLUE。然后定义了一个color_to_str映射,将每个枚举值映射到一个字符串。接着定义了一个str_to_color函数,该函数接受一个字符串参数,返回对应的枚举值。在main()函数中,将枚举值c转换为字符串并输出。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论