Avatar ·

आधुनिक C++ (C++17/C++20) में enum को स्ट्रिंग में कैसे बदलें

नमस्ते साथियों! मैं C++17 में एक प्रोग्राम लिख रहा हूँ और एक समस्या का सामना कर रहा हूँ: मुझे enum के मानों को पढ़ने योग्य रूप में आउटपुट करना है, लेकिन C++ के मानक साधन enum को स्ट्रिंग में बदलने का सीधा तरीका प्रदान नहीं करते हैं। यहाँ मेरे कोड का उदाहरण है: ```cpp enum class Color { Red, Green, Blue, Yellow }; int main() { Color c = Color::Green; // मैं "Green" आउटपुट करना चाहता हूँ, लेकिन केवल एक संख्या मिलती है std::cout << static_cast(c); // 1 आउटपुट करता है return 0; } ``` मेरी वास्तविक समस्या में enumeration में लगभग 20 मान हैं, और मैं इसे लॉगिंग और यूज़र इंटरफ़ेस के लिए उपयोग करना चाहता हूँ। अब तक मैंने एक बड़ा switch-case लिखा है, लेकिन यह भयानक है — हर बार नया मान जोड़ने पर कोड को 5 जगहों पर ठीक करना पड़ता है। मुझे पता है कि C++ में कोई reflection नहीं है।