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

C++ में रेगुलर कास्ट vs static_cast vs dynamic_cast


static_cast - यह सामान्य/साधारण टाइप कन्वर्जन के लिए उपयोग किया जाता है। यह इम्प्लिसिट टाइप कोएरशन के लिए जिम्मेदार कास्ट भी है और इसे एक्सप्लिसिटली भी कॉल किया जा सकता है। आपको इसका उपयोग float को int में, char को int में, आदि जैसे मामलों में करना चाहिए।

dynamic_cast - यह कास्ट पॉलीमॉर्फिज्म को संभालने के लिए उपयोग किया जाता है। आपको इसका उपयोग केवल तब करना चाहिए जब आप डेराइव्ड क्लास में कास्ट कर रहे हों। यह विशेष रूप से इनहेरिटेंस में उपयोग किया जाता है जब आप बेस क्लास से डेराइव्ड क्लास में कास्ट करते हैं।

रेगुलर कास्ट - यह C++ में उपलब्ध सबसे शक्तिशाली कास्ट है क्योंकि यह const_cast, static_cast और reinterpret_cast को जोड़ता है। लेकिन यह असुरक्षित भी है क्योंकि यह dynamic_cast का उपयोग नहीं करता। इसे C-स्टाइल कास्ट भी कहा जाता है।

अन्य उपलब्ध कास्ट्स

const_cast - किसी वेरिएबल से const को हटाने या जोड़ने के लिए उपयोग किया जा सकता है। यह उपयोगी हो सकता है यदि किसी वेरिएबल से constness जोड़ना/हटाना आवश्यक हो।

reinterpret_cast - यह उपयोग करने में सबसे मुश्किल है। इसका उपयोग बिट पैटर्न्स को पुनर्व्याख्या करने के लिए किया जाता है और यह अत्यंत निम्न स्तर का है। इसका उपयोग मुख्य रूप से रॉ डेटा बिट स्ट्रीम को वास्तविक डेटा में बदलने या एलाइन्ड पॉइंटर के लो बिट्स में डेटा स्टोर करने जैसी चीजों के लिए किया जाता है।


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

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

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

    एक कास्ट एक विशेष ऑपरेटर है जो एक डेटा प्रकार को दूसरे में परिवर्तित करने के लिए मजबूर करता है। एक ऑपरेटर के रूप में, एक कास्ट यूनरी होता है और किसी भी अन्य यूनरी ऑपरेटर के समान प्रीसिडेंस रखता है। अधिकांश C++ कंपाइलर्स द्वारा समर्थित सबसे सामान्य कास्ट निम्नानुसार है: (type) expression जहां type व

  1. - लिनक्स पर C++ के लिए सर्वश्रेष्ठ IDE कौन सा है?

    बड़े प्रोजेक्ट्स को केवल टेक्स्ट एडिटर्स पर प्रबंधित करना मुश्किल होता है। ऐसे मामलों में IDE का उपयोग करने से आप अधिक उत्पादक और कम निराश होंगे। विभिन्न प्रकार के IDE उपलब्ध हैं और आपको अपनी आवश्यकताओं के अनुरूप सही चुनना चाहिए। लिनक्स पर C++ के लिए कोई एक सर्वश्रेष्ठ IDE नहीं है; आपको अपने टूल को