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

C++ में कंस्ट्रक्टर बनाम असाइनमेंट ऑपरेटर कॉपी करें

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

कॉपी कंस्ट्रक्टर (सिंटैक्स)

classname (const classname &obj) {
   // body of constructor
}

असाइनमेंट ऑपरेटर (सिंटैक्स)

classname Ob1, Ob2;
Ob2 = Ob1;

आइए हम कॉपी कंस्ट्रक्टर और असाइनमेंट ऑपरेटर के बीच विस्तृत अंतर देखें।

कॉपी कंस्ट्रक्टर
<वें शैली ="पाठ-संरेखण:केंद्र;">असाइनमेंट ऑपरेटर
कॉपी कंस्ट्रक्टर मूल रूप से एक ओवरलोडेड कंस्ट्रक्टर है
असाइनमेंट ऑपरेटर मूल रूप से एक ऑपरेटर होता है।
यह पहले से मौजूद ऑब्जेक्ट के साथ नए ऑब्जेक्ट को इनिशियलाइज़ करता है
यह एक वस्तु का मान दूसरी वस्तु को निर्दिष्ट करता है जो दोनों पहले से मौजूद हैं।
कॉपी कंस्ट्रक्टर का उपयोग तब किया जाता है जब किसी मौजूदा ऑब्जेक्ट के साथ कोई नया ऑब्जेक्ट बनाया जाता है
इस ऑपरेटर का उपयोग तब किया जाता है जब हम मौजूदा ऑब्जेक्ट को नई ऑब्जेक्ट को असाइन करना चाहते हैं।
दोनों ऑब्जेक्ट अलग-अलग मेमोरी लोकेशन का उपयोग करते हैं।
एक स्मृति स्थान का उपयोग किया जाता है लेकिन विभिन्न संदर्भ चर एक ही स्थान की ओर इशारा कर रहे हैं।
यदि कक्षा में कोई कॉपी कंस्ट्रक्टर परिभाषित नहीं है, तो कंपाइलर एक प्रदान करता है।
यदि असाइनमेंट ऑपरेटर ओवरलोडेड नहीं है तो बिटवाइज कॉपी बनाई जाएगी


  1. C++ में असाइनमेंट ऑपरेटर और कॉपी कंस्ट्रक्टर में क्या अंतर है?

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

  1. सी ++ में हटाएं () ऑपरेटर

    डिलीट ऑपरेटर का उपयोग मेमोरी को डीलोकेट करने के लिए किया जाता है। उपयोगकर्ता को इस डिलीट ऑपरेटर द्वारा बनाए गए पॉइंटर वेरिएबल को डीलोकेट करने का विशेषाधिकार है। यहाँ C++ भाषा में डिलीट ऑपरेटर का सिंटैक्स दिया गया है, delete pointer_variable; आबंटित मेमोरी के ब्लॉक को हटाने के लिए सिंटैक्स यहां दिय

  1. C++ में कॉपी कंस्ट्रक्टर

    कॉपी कंस्ट्रक्टर एक प्रकार का कंस्ट्रक्टर है। यह एक ऑब्जेक्ट बनाता है और इसे उसी क्लास के ऑब्जेक्ट के साथ इनिशियलाइज़ करता है। यदि कॉपी कंस्ट्रक्टर को कक्षा में परिभाषित नहीं किया गया है, तो संकलक स्वयं एक को परिभाषित करता है। एक कॉपी कंस्ट्रक्टर उस वर्ग के लिए जरूरी है जिसमें पॉइंटर वैरिएबल या डायन