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

C++ में कॉपी एलिसन

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

आइए देखें कि यह एक उदाहरण कोड की मदद से कैसे काम करता है:

उदाहरण कोड

#include <iostream>
using namespace std;
class MyClass {
   public:
      MyClass(const char* str = "\0") {  //default constructor
         cout << "Constructor called" << endl;
      }
      MyClass(const MyClass &my_cls) { //copy constructor
         cout << "Copy constructor called" << endl;
      }
};
main() {
   MyClass ob = "copy class object";
}

आउटपुट

Constructor called

आइए अब चर्चा करते हैं कि कॉपी कंस्ट्रक्टर को क्यों नहीं बुलाया जाता है?

तो जब एक वस्तु का निर्माण किया जा रहा है, तो एक अस्थायी वस्तु उत्पन्न होती है और यह वास्तविक वस्तु की प्रतिलिपि बनाती है। तो हम कह सकते हैं कि आंतरिक रूप से यह इस तरह दिखेगा:

MyClass ob = "copy class object";

के रूप में काम करेगा:

MyClass ob = MyClass("copy class object");

C++ कंपाइलर इस तरह के ओवरहेड्स से बचते हैं


  1. सी++ एनम

    C++ Enum का उपयोग कैसे करें:एक गाइड एक एन्यूमरेटेड प्रकार एक उपयोगकर्ता-परिभाषित डेटा प्रकार है जिसे मानों की श्रेणी से एक मान असाइन किया जा सकता है। Enums अक्सर प्रोग्रामिंग में उपयोग किया जाता है जब एक चर केवल एक मान को विशिष्ट मानों के सेट से बाहर संग्रहीत करने में सक्षम होना चाहिए। उदाहरण के

  1. C++ कोड k . से अधिक के बिना प्रतिलिपि संचालन की गणना करने के लिए

    मान लीजिए कि हमारे पास n तत्वों के साथ एक सरणी A है और दूसरी संख्या k है। कैंडीज के ढेर हैं। Ith पाइल में A[i] कैंडीज की संख्या होती है। हम दो सूचकांकों i और j (i !=j) पर ऑपरेशन कर सकते हैं, फिर A[i] में एक और A[i] कैंडी की संख्या जोड़ सकते हैं (A[i] कम नहीं किया जाएगा)। हम इस ऑपरेशन को कितनी भी बार

  1. C++ में रैंडम पॉइंटर के साथ कॉपी लिस्ट

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