Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में टाइप कास्टिंग ऑपरेटर्स


एक कास्ट एक विशेष ऑपरेटर है जो एक डेटा टाइप को दूसरे में बदलने के लिए मजबूर करता है। एक ऑपरेटर के रूप में, एक कास्ट यूनरी है और किसी अन्य यूनरी ऑपरेटर के समान प्रीसिडेंस है।

अधिकांश C++ कंपाइलर्स द्वारा समर्थित सबसे सामान्य कास्ट इस प्रकार है

(type) expression

जहां type वांछित डेटा टाइप है। C++ द्वारा समर्थित अन्य कास्टिंग ऑपरेटर्स हैं, वे नीचे सूचीबद्ध हैं -

  • ? const_cast<type> (expr) const_cast ऑपरेटर का उपयोग कास्ट में const और/या volatile को स्पष्ट रूप से ओवरराइड करने के लिए किया जाता है। लक्ष्य प्रकार स्रोत प्रकार के समान होना चाहिए सिवाय इसके const या volatile विशेषताओं के परिवर्तन के। इस प्रकार की कास्टिंग पास किए गए ऑब्जेक्ट के const विशेषता में हेरफेर करती है, या तो सेट करने या हटाने के लिए।

  • ? dynamic_cast<type> (expr) dynamic_cast एक रनटाइम कास्ट करता है जो कास्ट की वैधता को सत्यापित करता है। यदि कास्ट नहीं किया जा सकता, तो कास्ट विफल होता है और अभिव्यक्ति null का मूल्यांकन करती है। dynamic_cast बहुरूपी प्रकारों पर कास्ट करता है और A* पॉइंटर को B* पॉइंटर में केवल तभी कास्ट कर सकता है जब इंगित किया जा रहा ऑब्जेक्ट वास्तव में B ऑब्जेक्ट हो।

  • ? reinterpret_cast<type> (expr) reinterpret_cast ऑपरेटर एक पॉइंटर को किसी अन्य प्रकार के पॉइंटर में बदलता है। यह पॉइंटर से पूर्णांक प्रकार और इसके विपरीत कास्टिंग की भी अनुमति देता है।

  • ? static_cast<type> (expr) static_cast ऑपरेटर एक गैर-बहुरूपी कास्ट करता है। उदाहरण के लिए, इसका उपयोग बेस क्लास पॉइंटर को डेराइव्ड क्लास पॉइंटर में कास्ट करने के लिए किया जा सकता है।

उपरोक्त सभी कास्टिंग ऑपरेटर्स का उपयोग क्लासेस और ऑब्जेक्ट्स के साथ काम करते समय किया जाएगा। अभी के लिए, C++ में उपलब्ध सरल कास्ट ऑपरेटर्स को समझने के लिए निम्नलिखित उदाहरण का प्रयास करें। निम्नलिखित C++ प्रोग्राम को test.cpp फाइल में कॉपी और पेस्ट करें और इस प्रोग्राम को कंपाइल और चलाएं।

उदाहरण कोड

#include <iostream> using namespace std; main() { double a = 21.09399; float b = 10.20; int c ; c = (int) a; cout << "Line 1 - Value of (int)a is :" << c << endl ; c = (int) b; cout << "Line 2 - Value of (int)b is :" << c << endl ; return 0; }

आउटपुट

Line 1 - Value of (int)a is :21 Line 2 - Value of (int)b is :10

  1. C/C++ में टाइप कास्ट क्या है? C/C++ में टाइप कास्ट क्या है?

    टाइप कास्टिंग एक वेरिएबल को एक डेटा टाइप से दूसरे डेटा टाइप में बदलने का एक तरीका है। उदाहरण के लिए, यदि आप एक long मान को एक साधारण इंटीजर में संग्रहीत करना चाहते हैं तो आप long को int में टाइप कास्ट कर सकते हैं। आप कास्ट ऑपरेटर का उपयोग करके मानों को एक प्रकार से दूसरे प्रकार में स्पष्ट रूप से बद

  1. - C++ में रिलेशनल ऑपरेटर्स

    C++ प्रोग्रामिंग में, दो वेरिएबल्स में संग्रहीत मानों की तुलना निम्नलिखित ऑपरेटर्स का उपयोग करके की जा सकती है और उनके बीच के संबंध को निर्धारित किया जा सकता है। इन ऑपरेटर्स को रिलेशनल ऑपरेटर्स कहा जाता है। C++ में उपलब्ध विभिन्न रिलेशनल ऑपरेटर्स हैं: ऑपरेटर विवरण > से बड़ा >= से बड़

  1. - C++ में अंकगणितीय ऑपरेटर्स

    C++ में 5 बुनियादी अंकगणितीय ऑपरेटर्स होते हैं। वे हैं: जोड़ (+) घटाव (-) भाग (/) गुणा (*) मॉड्यूलो (%) उदाहरण ये ऑपरेटर्स C++ में किसी भी अंकगणितीय संक्रिया पर कार्य कर सकते हैं। आइए एक उदाहरण देखते हैं: #include <iostream> using namespace std; int main() { int a = 21; int b = 10;