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

C++ में कॉपी-एंड-स्वैप मुहावरा क्या है?


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

यह मुहावरा डेटा की स्थानीय प्रतिलिपि बनाने के लिए कॉपी-कंस्ट्रक्टर का उपयोग करता है। इसके बाद यह पुराने डेटा को नए डेटा के साथ स्वैप फ़ंक्शन का उपयोग करके स्वैप करता है। अस्थायी प्रतिलिपि तब विनाशक का उपयोग करके नष्ट कर दी जाती है। अंत में हमारे पास नए डेटा की केवल एक प्रति है।

इसलिए, कॉपी-एंड-स्वैप मुहावरे को तीन चीजों की आवश्यकता होती है - एक कॉपी-कंस्ट्रक्टर, एक डिस्ट्रक्टर और एक स्वैप फंक्शन। स्वैप फ़ंक्शन एक गैर-फेंकने वाला फ़ंक्शन है जो एक वर्ग की दो वस्तुओं, सदस्य को स्वैप करता है। नोट - आपको std::swap फ़ंक्शन का उपयोग नहीं करना चाहिए क्योंकि यह आंतरिक रूप से कॉपी कंस्ट्रक्टर और असाइनमेंट ऑपरेटर का उपयोग करता है।



  1. C++ में कॉन्स्टेबल कीवर्ड क्या है?

    हम एक चर को स्थिर घोषित करने के लिए const qualifier का उपयोग करते हैं। इसका मतलब है कि एक बार वेरिएबल को इनिशियलाइज़ करने के बाद हम वैल्यू को नहीं बदल सकते। कॉन्स्ट का इस्तेमाल करने से बहुत बड़ा फायदा होता है। उदाहरण के लिए, यदि आपके पास PI के मान जैसा स्थिर मान है, तो आप उस मान को संशोधित करने के ल

  1. C++ सीखने के लिए अच्छे संसाधन क्या हैं?

    वेब पर ऐसे कई संसाधन हैं जो C++ सीखने में आपकी सहायता कर सकते हैं। मैंने आपको C++ सीखने के लिए कुछ बेहतरीन संसाधनों की एक संकलित सूची देने की कोशिश की है - सी++ - C++ सीखने के लिए यह एक बेहतरीन जगह है क्योंकि इसमें C++ के लगभग सभी बुनियादी और मध्यवर्ती विषयों को गहराई से शामिल किया गया है और कुल मि

  1. C++ प्रोग्रामिंग लैंग्वेज के क्या फायदे हैं?

    C++ के निम्नलिखित फायदे हैं - C++ एक अत्यधिक पोर्टेबल भाषा है और बहु-डिवाइस, बहु-प्लेटफ़ॉर्म ऐप विकास के लिए अक्सर चयन की भाषा है। C++ एक ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग लैंग्वेज है और इसमें क्लासेज, इनहेरिटेंस, पॉलीमॉर्फिज्म, डेटा एब्स्ट्रैक्शन, और एनकैप्सुलेशन जैसी अवधारणाएं शामिल हैं जो कोड को पु