在C++中,可以使用标准库中的std::mapstd::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枚举类型,其中包含了三个枚举值REDGREENBLUE。然后定义了一个color_to_str映射,将每个枚举值映射到一个字符串。接着定义了一个str_to_color函数,该函数接受一个字符串参数,返回对应的枚举值。在main()函数中,将枚举值c转换为字符串并输出。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。