當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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++?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。