"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > C++ में दृढ़तापूर्वक टाइप की गई संख्याओं को स्पष्ट रूप से पूर्णांकों में कैसे परिवर्तित करें?

C++ में दृढ़तापूर्वक टाइप की गई संख्याओं को स्पष्ट रूप से पूर्णांकों में कैसे परिवर्तित करें?

2024-11-20 को प्रकाशित
ब्राउज़ करें:340

How to Explicitly Convert Strongly Typed Enums to Integers in C  ?

एक सशक्त रूप से टाइप किए गए एनम को पूर्णांक प्रकार में स्वचालित रूप से परिवर्तित करना

सी में, दृढ़ता से टाइप किए गए एनम पारंपरिक एनम की तुलना में अधिक प्रकार की सुरक्षा सुनिश्चित करते हैं। हालाँकि, पारंपरिक एनम के विपरीत, दृढ़ता से टाइप किए गए एनम को पूर्णांक प्रकारों में परिवर्तित नहीं किया जा सकता है। ]

int i = static_cast(b::B2);

हालाँकि, यदि एनम का अंतर्निहित प्रकार है अज्ञात, निम्नलिखित टेम्पलेट फ़ंक्शन का उपयोग किया जा सकता है:
int i = static_cast(b::B2);
टेम्पलेट constexpr टाइपनाम std::underlying_type::type to_underlying(E e) noexcept { static_cast::type>(e); लौटाएँ; }

अब, अंतर्निहित प्रकार को स्पष्ट रूप से निर्दिष्ट किए बिना रूपांतरण किया जा सकता है:
int i = static_cast(b::B2);
std::cout यह ध्यान रखना महत्वपूर्ण है कि यह रूपांतरण केवल दृढ़ता से टाइप किए गए एनम के मूल्यों के लिए काम करता है। यदि to_underlying() को पारंपरिक एनम मान प्रदान किया जाता है, तो एक त्रुटि उत्पन्न हो जाएगी।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3