Avatar ·

C++ में enum class को सामान्य enum से अधिक सुरक्षित क्यों माना जाता है?

सभी को नमस्कार! मैंने हाल ही में C++ सीखना शुरू किया है और एनुम (enumerations) के बारे में जाना। मुझे पता है कि उन्हें घोषित करने के दो तरीके हैं: पुराना अच्छा `enum` और नया `enum class` (C++11 से शुरू)। मैंने पढ़ा है कि `enum class` "अधिक सुरक्षित" है, लेकिन मुझे व्यवहार में अंतर पूरी तरह से समझ नहीं आया। यहाँ एक उदाहरण है जो मैंने लिखा: ```cpp enum Color { RED, GREEN, BLUE }; enum TrafficLight { RED, GREEN, YELLOW }; // त्रुटि: RED और GREEN का पुनः घोषणा int main() { Color c = RED; TrafficLight t = RED; // मुझे उम्मीद थी कि यह काम करेगा, लेकिन... return 0; } ``` मुझे तुरंत समस्याएँ आईं: मैं समान एलिमेंट नामों वाले दो एनुम घोषित नहीं कर सकता, और कंपाइलर त्रुटि देता है। इसके अलावा, मैंने देखा कि मैं कुछ इस तरह लिख सकता हूँ: ```cpp int x = RED; // यह काम करता है, लेकिन क्या यह सामान्य है? ```