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 ऑपरेटर एक नॉन-पॉलीमॉर्फिक कास्ट करता है। उदाहरण के लिए, इसका उपयोग बेस क्लास पॉइंटर को डेराइव्ड क्लास पॉइंटर में कास्ट करने के लिए किया जा सकता है।

उदाहरण

ये कास्ट बहुत केस-स्पेसिफिक हैं। आइए कंपाइलर द्वारा कार्यान्वित कास्ट के साथ एक उदाहरण पर विचार करें:

#include <iostream>
using namespace std;
int 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++ में const_cast - टाइप कास्टिंग ऑपरेटर्स

    दिया गया कार्य C++ में const_cast के कार्य को दिखाना है।const_cast टाइप कास्टिंग ऑपरेटर्स में से एक है। इसका उपयोग किसी ऑब्जेक्ट के स्थिर मान को बदलने के लिए किया जाता है या हम कह सकते हैं कि इसका उपयोग किसी ऑब्जेक्ट की स्थिर प्रकृति को हटाने के लिए किया जाता है।const_cast का उपयोग उन प्रोग्राम्स मे

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

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

  1. - C# में टाइप कास्टिंग क्या है?

    टाइप कास्टिंग एक प्रकार के डेटा को दूसरे प्रकार में परिवर्तित करना है। इसके दो रूप हैं:इम्प्लिसिट टाइप कन्वर्जन - ये कन्वर्जन C# द्वारा टाइप-सेफ तरीके से किए जाते हैं। उदाहरण के लिए, छोटे से बड़े इंटीग्रल टाइप्स में कन्वर्जन और डेराइव्ड क्लासेस से बेस क्लासेस में कन्वर्जन।एक्सप्लिसिट टाइप कन्वर्जन -