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

C++ में ऑब्जेक्ट्स को फ़ंक्शन्स में कैसे पास करें?


ऑब्जेक्ट्स को फ़ंक्शन्स में पास करने के चार तरीके हैं। मान लें आपके पास क्लास X है और आप इसे फ़ंक्शन fun में पास करना चाहते हैं, तो:

वैल्यू द्वारा पास करें

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

घोषणा

 void fun(X x); 

कॉलिंग

 X x; fun(x); 

रेफरेंस द्वारा पास करें

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

घोषणा

 void fun(X &x); 

कॉलिंग

 X x; fun(x); 

कॉन्स्ट रेफरेंस द्वारा पास करें

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

घोषणा

 void fun(X const &x); 

कॉलिंग

 X x; fun(x); 

कॉन्स्ट पॉइंटर द्वारा पास करें

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

घोषणा

 void fun(X const *x); 

कॉलिंग

 X x; fun(&x); 

पॉइंटर द्वारा पास करें

यह ऑब्जेक्ट का पॉइंटर फ़ंक्शन को पास करता है। यह ऑब्जेक्ट को रेफरेंस द्वारा पास करने के समान है। ऑब्जेक्ट की कोई कॉपी नहीं बनती। उदाहरण के लिए,

घोषणा

 void fun(X *x); 

कॉलिंग

 X x; fun(&x); 

  1. जावास्क्रिप्ट प्रिमिटिव/ऑब्जेक्ट टाइप्स को फंक्शन्स में कैसे पास किया जाता है? जावास्क्रिप्ट प्रिमिटिव/ऑब्जेक्ट टाइप्स को फंक्शन्स में कैसे पास किया जाता है?

    जावास्क्रिप्ट प्रिमिटिव और ऑब्जेक्ट टाइप्स को फंक्शन में पास करने के लिए कोड निम्नलिखित है: उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1.0 /> <title>Document</title> <

  1. JavaScript में अनाम फंक्शन्स (Anonymous Functions) को आर्गुमेंट्स कैसे पास करें? JavaScript में अनाम फंक्शन्स (Anonymous Functions) को आर्गुमेंट्स कैसे पास करें?

    JavaScript में अनाम फंक्शन्स को आर्गुमेंट्स पास करने का निम्नलिखिक कोड है:उदाहरण<!DOCTYPE html> <html lang="hi"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>

  1. NSUserDefaults में कस्टम ऑब्जेक्ट संग्रहीत करना - आर्काइविंग/अनआर्काइविंग NSUserDefaults में कस्टम ऑब्जेक्ट संग्रहीत करना - आर्काइविंग/अनआर्काइविंग

    इस लेख में हम सीखेंगे कि हमारे एप्लिकेशन में कस्टम ऑब्जेक्ट को कैसे संग्रहीत किया जाए, लेकिन इससे पहले कि आप कस्टम ऑब्जेक्ट को संग्रहीत करना सीखें, आइए देखें कि कस्टम ऑब्जेक्ट क्या हैं? एक कस्टम ऑब्जेक्ट कोई भी क्लास या संरचना या कोई अन्य डेटा है जो Int, Double, String आदि जैसे नेटिव डेटा प्रकार नह