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

C++ में static_cast, dynamic_cast, const_cast और reinterpret_cast का उपयोग कब किया जाना चाहिए?

const_cast

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

static_cast

इसका उपयोग सामान्य/साधारण प्रकार के रूपांतरण के लिए किया जाता है। यह निहित प्रकार के जबरदस्ती के लिए जिम्मेदार कलाकार भी है और इसे स्पष्ट रूप से भी कहा जा सकता है। आपको इसका उपयोग फ्लोट को इंट, चार से इंट आदि में बदलने जैसे मामलों में करना चाहिए।

dynamic_cast

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

reinterpret_cast

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


  1. स्मार्ट पॉइंटर क्या है और मुझे इसे C++ में कब इस्तेमाल करना चाहिए?

    एक स्मार्ट पॉइंटर एक ऐसा वर्ग है जो कच्चे (या नंगे) सी ++ पॉइंटर को लपेटता है। इसका उपयोग पॉइंटर द्वारा इंगित संसाधनों को प्रबंधित करने के लिए किया जाता है। उदाहरण के लिए, यदि उस स्मृति स्थान का संदर्भ खो जाता है। यह एक तरह से कचरा संग्रहकर्ता की तरह काम करता है। कई स्मार्ट पॉइंटर प्रकार हैं। आप

  1. सी और सी ++ में मुख्य () क्या लौटना चाहिए?

    मुख्य के लिए वापसी मूल्य का उपयोग यह इंगित करने के लिए किया जाता है कि कार्यक्रम कैसे निकला। यदि प्रोग्राम निष्पादन सामान्य था, तो 0 रिटर्न मान का उपयोग किया जाता है। असामान्य समाप्ति (त्रुटियों, अमान्य इनपुट, विभाजन दोष, आदि) को आमतौर पर गैर-शून्य रिटर्न द्वारा समाप्त किया जाता है। गैर-शून्य कोड की

  1. आपको C++ में 'मित्र' का प्रयोग कब करना चाहिए?

    किसी वर्ग के मित्र कार्य को उस वर्ग के दायरे से बाहर परिभाषित किया गया है लेकिन उसे कक्षा के सभी निजी और संरक्षित सदस्यों तक पहुंचने का अधिकार है। भले ही फ्रेंड फंक्शन के प्रोटोटाइप क्लास डेफिनिशन में दिखाई देते हैं, फ्रेंड्स मेंबर फंक्शन नहीं होते हैं। एक दोस्त एक फंक्शन, फंक्शन टेम्प्लेट, या मेंब