当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ Enum转String用法及代码示例


在 C 中,枚举是一种用户定义的数据类型,可以为其成员分配一些整数值。在本文中,我们将讨论如何在 C++ 中将枚举转换为字符串。

例子:

Input:
myColor = GREEN;
Output:
Green

在 C++ 中将枚举转换为字符串

有多种方法 转换一个枚举到一个字符串。将枚举转换为枚举的典型做法string正在创建枚举值与其字符串表示形式之间的映射。

方法

  • 定义一个表示相关常量集合的枚举,并为每个常量分配一个有意义的名称。
  • 采用Map在枚举值与其相应的字符串表示形式之间创建连接。
  • 通过填充映射数据结构,在每个枚举值与其对应的字符串之间建立清晰的关联。
  • 开发一个函数,该函数将枚举值作为输入,并通过引用已建立的映射返回其关联的字符串。
  • 根据枚举参数从函数返回相应的字符串。

将枚举转换为字符串的 C++ 程序

C++


// C++ Program to Convert an Enum to a String 
#include <iostream> 
#include <map> 
using namespace std; 
  
// Define an enumeration named Color with constants RED, 
// GREEN, and BLUE 
enum Color { RED, GREEN, BLUE }; 
  
// Create a mapping from Color enum values to corresponding 
// strings 
map<Color, string> colorToString = { { RED, "Red" }, 
                                     { GREEN, "Green" }, 
                                     { BLUE, "Blue" } }; 
  
// Function to convert a Color enum value to its string 
// representation 
string enumToString(Color color) 
{ 
    return colorToString[color]; 
} 
// Driver Code 
int main() 
{ 
    // Declare a variable 'myColor' and assign it the value 
    // GREEN 
    Color myColor = GREEN; 
  
    // Display the string representation of the enum using 
    // the conversion function 
    cout << "Color: " << enumToString(myColor) << endl; 
  
    return 0; 
}
输出
Color: Green

时间复杂度:O(1)
空间复杂度:O(N),N 是枚举中的项目数。


相关用法


注:本文由纯净天空筛选整理自rajpootveerendrasingh36大神的英文原创作品 How to Convert an Enum to a String in C++?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。