C++ में कॉल बाय वैल्यू और कॉल बाय रेफरेंस में क्या अंतर है?
सी ++ और जावा में, फ़ंक्शन या विधि को कॉल करने के दो तरीके हैं। दोनों विधियों के बीच मुख्य अंतर है, कॉल बाय वैल्यू मेथड एक वेरिएबल के वैल्यू को पास करता है और कॉल बाय रेफरेंस उस वेरिएबल के एड्रेस को पास करता है। कॉल बाय वैल्यू मेथड केवल एक वेरिएबल के वैल्यू को फंक्शन कोड में पास करता है।
ऊपर के अलावा, उदाहरण के साथ कॉल बाय रेफरेंस क्या है? किसी फ़ंक्शन में तर्क पारित करने की संदर्भ विधि द्वारा कॉल औपचारिक पैरामीटर में तर्क के पते की प्रतिलिपि बनाता है। फ़ंक्शन के अंदर, कॉल में उपयोग किए गए वास्तविक तर्क तक पहुंचने के लिए पते का उपयोग किया जाता है। इसका मतलब है कि पैरामीटर में किए गए परिवर्तन पारित तर्क को प्रभावित करते हैं।
इसके अलावा, उदाहरण के साथ C++ में कॉल बाय वैल्यू और कॉल बाय रेफरेंस क्या है?
सी में संदर्भ ++ संदर्भ द्वारा कॉल में से कॉल, मूल मूल्य संशोधित किया गया है क्योंकि हम संदर्भ (पता) गुजरती हैं। यहां, फ़ंक्शन में मान का पता पारित किया जाता है , इसलिए वास्तविक और औपचारिक तर्क समान पता स्थान साझा करते हैं। इसलिए, समारोह के अंदर बदल मूल्य, अंदर के साथ ही समारोह के बाहर के रूप में देखा जा सकता है।
संदर्भ द्वारा कॉल करने का क्या लाभ है?
संदर्भ विधि द्वारा कॉल का एक लाभ यह है कि यह पॉइंटर्स का उपयोग कर रहा है, इसलिए वेरिएबल्स द्वारा उपयोग की जाने वाली मेमोरी को दोगुना नहीं किया जाता है (जैसा कि वैल्यू विधि द्वारा कॉल की प्रतिलिपि के साथ)। यह निश्चित रूप से बहुत अच्छा है, स्मृति पदचिह्न को कम करना हमेशा एक अच्छी बात है।