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

C++ में कास्टिंग ऑपरेटर क्या है?


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

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

(type) expression

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

  • const_cast (expr) - const_cast ऑपरेटर का उपयोग कास्ट में कॉन्स्टेबल और/या वोलेटाइल को स्पष्ट रूप से ओवरराइड करने के लिए किया जाता है। लक्ष्य प्रकार स्रोत प्रकार के समान होना चाहिए सिवाय इसके कॉन्स्ट या अस्थिर विशेषताओं के परिवर्तन को छोड़कर। इस प्रकार की कास्टिंग पास की गई वस्तु की const विशेषता को या तो सेट करने या हटाने के लिए हेरफेर करती है।
  • dynamic_cast (expr) - डायनेमिक_कास्ट एक रनटाइम कास्ट करता है जो कास्ट की वैधता की पुष्टि करता है। यदि कास्ट नहीं किया जा सकता है, तो कास्ट विफल हो जाता है और अभिव्यक्ति शून्य हो जाती है। एक डायनेमिक_कास्ट पॉलीमॉर्फिक प्रकारों पर कास्ट करता है और ए * पॉइंटर को बी * पॉइंटर में तभी डाल सकता है जब वास्तव में जिस ऑब्जेक्ट की ओर इशारा किया जा रहा है वह बी ऑब्जेक्ट है।
  • reinterpret_cast (expr) - reinterpret_cast ऑपरेटर एक पॉइंटर को किसी अन्य प्रकार के पॉइंटर में बदल देता है। यह पॉइंटर से एक पूर्णांक प्रकार में और इसके विपरीत कास्टिंग की भी अनुमति देता है।
  • static_cast (expr) - static_cast ऑपरेटर एक गैर-पॉलीमॉर्फिक कास्ट करता है। उदाहरण के लिए, इसका उपयोग बेस क्लास पॉइंटर को व्युत्पन्न क्लास पॉइंटर में डालने के लिए किया जा सकता है।

उदाहरण

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

#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++ में const_cast - कास्टिंग ऑपरेटर टाइप करें

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

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

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

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

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