C ++ में सर्वश्रेष्ठ कार्यान्वयन प्रकार रूपांतरण कैसे करें?



यह लेख आपको C ++ में टाइप कन्वर्जन का परिचय देगा और उसी के लिए विस्तृत प्रोग्रामेटिक प्रदर्शन के साथ इसका अनुसरण करेगा।

यह लेख आपको अभी तक एक और दिलचस्प विषय से परिचित कराएगा जो कि रूपांतरण में टाइप करता है सी ++ और विस्तृत व्यावहारिक प्रदर्शन के साथ इसका पालन करें। इस लेख में निम्नलिखित बिंदुओं को शामिल किया जाएगा,

तो चलिए हम शुरू करते हैं,





C ++ में टाइप रूपांतरण

टाइप कन्वर्शन से तात्पर्य एक प्रकार से दूसरे प्रकार में रूपांतरण से है। प्रकार रूपांतरण के पीछे मुख्य विचार एक प्रकार के चर को दूसरे प्रकार के चर के साथ संगत बनाने के लिए एक ऑपरेशन करना है। उदाहरण के लिए, दो चर के योग को खोजने के लिए, इंट प्रकार और फ्लोट प्रकार के अन्य में से एक। तो, आपको योग करने के लिए उन दोनों को फ्लोट प्रकार बनाने के लिए फ़्लोट इंट चर को टाइप करने की आवश्यकता है। इस ब्लॉग में हम सीखेंगे कि C ++ में टाइप रूपांतरण कैसे करें।

कैसे जावा पथ सेटअप करने के लिए - -

C ++ में, दो प्रकार के रूपांतरण होते हैं अर्थात् अंतर्निहित प्रकार रूपांतरण और स्पष्ट प्रकार रूपांतरण।



निहित प्रकार रूपांतरण

संकलक प्रकार का रूपांतरण या स्वचालित प्रकार का रूपांतरण कंपाइलर द्वारा स्वयं किया जाता है। एक प्रकार से दूसरे चर को टाइप करने के लिए उपयोगकर्ता द्वारा किसी बाहरी ट्रिगर की आवश्यकता नहीं होती है।

यह तब होता है जब एक अभिव्यक्ति में एक से अधिक प्रकार के चर होते हैं। तो, उन परिदृश्यों में डेटा के नुकसान से बचने के लिए स्वचालित प्रकार का रूपांतरण होता है।स्वचालित प्रकार रूपांतरण में, अभिव्यक्ति में मौजूद सभी डेटा प्रकार सबसे बड़े डेटा प्रकार के साथ चर के डेटा प्रकार में परिवर्तित हो जाते हैं।

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



बूल -> चार -> छोटा इंट -> इंट -> अहस्ताक्षरित इंट -> लंबा -> अहस्ताक्षरित -> लंबा लंबा -> फ्लोट -> डबल -> लंबा डबल

अंतर्निहित रूपांतरण जानकारी खो सकते हैं जैसे कि हस्ताक्षर खो सकते हैं जब हस्ताक्षरित प्रकार को अंतर्निहित रूप से अहस्ताक्षरित प्रकार में बदल दिया जाता है और अतिप्रवाह तब हो सकता है जब लंबे समय तक अंतर्निहित रूप से फ्लोट में परिवर्तित किया जाता है।

अब हम यह समझने के लिए एक उदाहरण देखते हैं कि C ++ में निहित प्रकार रूपांतरण कैसे काम करता है।

उदाहरण

# नाम का उपयोग करके नाम स्थान std int main () 12w {int int1 = 100 // पूर्णांक int1 char char1 = 'c' // वर्ण char1 // char1 अंतर्निहित रूप से 'c' के ASCII मान का उपयोग करके int में परिवर्तित किया गया - 99 int1 = int1 + char1 // int1 को स्पष्ट रूप से फ्लोट फ्लोट 1 = int1 + 2.7 cout में बदल दिया जाता है<< 'int1 = ' << int1 << endl << 'char1 = ' << char1 << endl << 'flt1 = ' << flt1 << endl return 0 }

आउटपुट

int1 = 199

char1 = c

flt1 = 201.7

सी ++ लेख में इस प्रकार के रूपांतरण के आगे,

स्पष्ट प्रकार रूपांतरण

स्पष्ट प्रकार रूपांतरण या टाइप कास्टिंग उपयोगकर्ता परिभाषित प्रकार रूपांतरण है। स्पष्ट प्रकार के रूपांतरण में, उपयोगकर्ता एक प्रकार के चर को दूसरे प्रकार में परिवर्तित करता है। C ++ में स्पष्ट प्रकार का रूपांतरण दो तरीकों से किया जा सकता है:

  • असाइनमेंट द्वारा परिवर्तित
  • कास्ट ऑपरेटर का उपयोग करके रूपांतरण

अब प्रत्येक प्रकार को स्पष्ट रूप से एक प्रकार से दूसरे में डालने के तरीकों पर ध्यान दें।

असाइनमेंट द्वारा परिवर्तित

इस प्रकार के रूपांतरण में आवश्यक प्रकार को कोष्ठक में अभिव्यक्ति के सामने स्पष्ट रूप से परिभाषित किया गया है। डेटा हानि स्पष्ट प्रकार की कास्टिंग में होती है। इसे जबरदस्त कास्टिंग माना जाता है। आइए एक उदाहरण देखें।

उदाहरण

# नाम का उपयोग करके नाम स्थान std int main () {डबल dbl1 = 8.9 // डबल से int int Res में स्पष्ट रूपांतरण = (int) dbl1 + 1 cout<< 'Result = ' << res return 0 }

आउटपुट

परिणाम = 9

सी ++ लेख में इस प्रकार के रूपांतरण के आगे,

कास्ट ऑपरेटर का उपयोग करके रूपांतरण

कास्ट ऑपरेटर एक यूनरी ऑपरेटर होता है जो एक डेटा टाइप को दूसरे डेटा टाइप में बदलने के लिए मजबूर करता है। C ++ में चार प्रकार की कास्टिंग होती है, यानी स्टेटिक कास्ट, डायनामिक कास्ट, कास्ट कास्ट और रीइंटरप्रिट कास्ट।

  • स्टेटिक कास्ट - यह सबसे सरल प्रकार की कास्ट है जिसका उपयोग किया जा सकता है। यह न केवल upcasts करता है, बल्कि downcasts भी करता है। यह एक संकलित समय कास्ट है। चेकटाइम रनिंग के दौरान यह सुनिश्चित करने के लिए नहीं किया जाता है कि किसी ऑब्जेक्ट को परिवर्तित किया जा रहा है जो गंतव्य प्रकार का पूर्ण ऑब्जेक्ट है।
  • गतिशील कास्ट - यह सुनिश्चित करता है कि गंतव्य पॉइंटर प्रकार के मान्य, पूर्ण ऑब्जेक्ट के प्रकार रूपांतरण बिंदुओं के परिणामस्वरूप।
  • कास्ट कास्ट - हेरफेर करता है कि क्या वस्तु को निरंतर या गैर-स्थिर होना चाहिए। यह सुनिश्चित करता है कि या तो निरंतर सेट करने की आवश्यकता है या हटाया जाना है।
  • पुनर्निवेश कास्ट - किसी भी पॉइंटर प्रकार को किसी अन्य पॉइंटर प्रकार में परिवर्तित करता है, यहां तक ​​कि असंबंधित कक्षाओं का भी। यह जांच नहीं करता है कि पॉइंटर और पॉइंटर द्वारा बताया गया डेटा समान है या नहीं।

स्टैटिक कास्ट के उदाहरण पर नजर डालते हैं,

उदाहरण

# नाम का उपयोग करके नाम स्थान std int main () {फ्लोट flt = 30.11 // कास्ट ऑपरेटर int int = = static_cast (flt) cout का उपयोग करना< 

आउटपुट

३०

यह हमें C ++ में टाइप कन्वर्शन पर इस लेख के अंत में लाता है।मुझे आशा है कि आपको यह जानकारीपूर्ण और उपयोगी लगा, इसी तरह के विषयों पर अधिक ट्यूटोरियल के लिए बने रहें। आप हमारे प्रशिक्षण कार्यक्रम को देख सकते हैंo अपने विभिन्न अनुप्रयोगों के साथ jQuery पर गहराई से ज्ञान प्राप्त करें, आप कर सकते हैं 24/7 समर्थन और आजीवन पहुंच के साथ लाइव ऑनलाइन प्रशिक्षण के लिए।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? इस लेख के टिप्पणी अनुभाग में उनका उल्लेख करें और हम आपके पास वापस आ जाएंगे।