इस पोस्ट में, हम C++ में कॉपी कंस्ट्रक्टर और असाइनमेंट ऑपरेटर के बीच के अंतर को समझेंगे।
कॉपी कंस्ट्रक्टर
-
यह एक अतिभारित कंस्ट्रक्टर है।
-
यह पहले से मौजूद ऑब्जेक्ट डेटा/मान के साथ नए ऑब्जेक्ट को इनिशियलाइज़ करता है।
-
इसका उपयोग तब किया जाता है जब किसी मौजूदा वस्तु की मदद से कोई नई वस्तु बनाई जाती है।
-
इन दोनों वस्तुओं को अलग-अलग स्मृति स्थानों में संग्रहीत किया जाएगा।
-
अगर क्लास के अंदर कोई कॉपी कंस्ट्रक्टर परिभाषित नहीं है, तो कंपाइलर खुद ही एक कॉपी कंस्ट्रक्टर प्रदान करता है।
असाइनमेंट ऑपरेटर
-
यह एक ऑपरेटर है।
-
यह एक वस्तु का मान दूसरी वस्तु को निर्दिष्ट करता है, जहाँ ये दोनों वस्तुएँ पहले से मौजूद होंगी।
-
इसका उपयोग तब किया जाता है जब किसी मौजूदा ऑब्जेक्ट को किसी नए ऑब्जेक्ट को असाइन करने की आवश्यकता होती है।
-
इस ऑब्जेक्ट को स्टोर करने के लिए सिंगल मेमोरी लोकेशन का उपयोग किया जाता है।
-
लेकिन इस वस्तु के स्थान को इंगित करने के लिए कई संदर्भ चर का उपयोग किया जाता है।
-
यदि यह ऑपरेटर अतिभारित नहीं है, तो बिटवाइज़ कॉपी बनाई जाएगी।