C++ में कॉल बाय वैल्यू और कॉल बाय रेफरेंस में क्या अंतर है?

द्वारा पूछा गया: फ्रेड्रिक नागिन | अंतिम अपडेट: ९ मई, २०२०
श्रेणी: प्रौद्योगिकी और कंप्यूटिंग प्रोग्रामिंग भाषाएं
4.1/5 (514 बार देखा गया। 30 वोट)
प्रमुख अंतर
कॉल बाय वैल्यू में , वेरिएबल की एक कॉपी पास की जाती है जबकि कॉल बाय रेफरेंस में , एक वेरिएबल ही पास होता है। C ++, PHP, Visual Basic NET, और C# जैसी प्रोग्रामिंग भाषाओं में कॉल बाय वैल्यू डिफ़ॉल्ट तरीका है जबकि कॉल बाय रेफरेंस केवल जावा भाषा का समर्थन करता है।

इसी तरह, आप पूछ सकते हैं, C++ में कॉल बाय वैल्यू और कॉल बाय रेफरेंस में क्या अंतर है?

सी ++ और जावा में, फ़ंक्शन या विधि को कॉल करने के दो तरीके हैं। दोनों विधियों के बीच मुख्य अंतर है, कॉल बाय वैल्यू मेथड एक वेरिएबल के वैल्यू को पास करता है और कॉल बाय रेफरेंस उस वेरिएबल के एड्रेस को पास करता है। कॉल बाय वैल्यू मेथड केवल एक वेरिएबल के वैल्यू को फंक्शन कोड में पास करता है।

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

इसके अलावा, उदाहरण के साथ C++ में कॉल बाय वैल्यू और कॉल बाय रेफरेंस क्या है?

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

संदर्भ द्वारा कॉल करने का क्या लाभ है?

संदर्भ विधि द्वारा कॉल का एक लाभ यह है कि यह पॉइंटर्स का उपयोग कर रहा है, इसलिए वेरिएबल्स द्वारा उपयोग की जाने वाली मेमोरी को दोगुना नहीं किया जाता है (जैसा कि वैल्यू विधि द्वारा कॉल की प्रतिलिपि के साथ)। यह निश्चित रूप से बहुत अच्छा है, स्मृति पदचिह्न को कम करना हमेशा एक अच्छी बात है।

35 संबंधित प्रश्नों के उत्तर मिले

कॉल बाय वैल्यू क्या है?

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

सी में न्यूल पॉइंटर क्या है?

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

कॉल बाय वैल्यू क्या है उदाहरण सहित?

वैल्यू द्वारा फंक्शन कॉल का उदाहरण
हमने मेथड को कॉल करते समय वेरिएबल num1 पास किया था, लेकिन चूंकि हम कॉल बाय वैल्यू मेथड का उपयोग करके फंक्शन को कॉल कर रहे हैं, केवल num1 का मान औपचारिक पैरामीटर var में कॉपी किया गया है। इस प्रकार var में किया गया परिवर्तन num1 में प्रतिबिंबित नहीं होता है।

कॉल रेफरेंस क्या है?

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

C++ में कॉल बाय वैल्यू क्या है?

किसी फ़ंक्शन में तर्क पारित करने की मूल्य विधि द्वारा कॉल फ़ंक्शन के औपचारिक पैरामीटर में तर्क के वास्तविक मान की प्रतिलिपि बनाता है। डिफ़ॉल्ट रूप से, C++ तर्कों को पारित करने के लिए मूल्य द्वारा कॉल का उपयोग करता है। सामान्य तौर पर, इसका मतलब है कि फ़ंक्शन के भीतर कोड फ़ंक्शन को कॉल करने के लिए उपयोग किए जाने वाले तर्कों को नहीं बदल सकता है।

फंक्शन किसे कहते हैं?

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

सी में पॉइंटर्स क्या हैं?

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

कॉल बाय वैल्यू और कॉल बाय रेफरेंस क्या है?

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

C++ में ओवरलोडिंग क्या है?

C++ ऑपरेटर्स ओवरलोडिंग
ऑपरेटर ओवरलोडिंग एक संकलन-समय बहुरूपता है जिसमें उपयोगकर्ता द्वारा परिभाषित डेटा प्रकार को विशेष अर्थ प्रदान करने के लिए ऑपरेटर को अतिभारित किया जाता है। ऑपरेटर ओवरलोडिंग का उपयोग सी ++ में उपलब्ध अधिकांश ऑपरेटरों को ओवरलोड या फिर से परिभाषित करने के लिए किया जाता है।

C++ में पास बाय रेफरेंस क्या है?

संदर्भ से गुजरें (सी ++ केवल) दर्रा-दर-संदर्भ साधन कहा जाता है समारोह के लिए इसी औपचारिक पैरामीटर बुला समारोह में एक बहस के संदर्भ पारित करने के लिए। कॉल किया गया फ़ंक्शन पास किए गए संदर्भ का उपयोग करके तर्क के मान को संशोधित कर सकता है। औपचारिक पैरामीटर तर्क के लिए एक उपनाम है।

कॉल पॉइंटर क्या है?

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

पासिंग रेफरेंस क्या है?

संदर्भ द्वारा पास करें
संदर्भ से गुजरने का अर्थ है कि चर का स्मृति पता (स्मृति स्थान के लिए एक सूचक) फ़ंक्शन को पास किया जाता है। यह मूल्य से गुजरने के विपरीत है, जहां एक चर का मान पारित किया जाता है।

सी ++ में यह सूचक क्या है?

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

सी ++ में रिकर्सन क्या है?

सी ++ रिकर्सन । जब एक ही फ़ंक्शन के भीतर फ़ंक्शन को कॉल किया जाता है, तो इसे C++ में रिकर्सन के रूप में जाना जाता है। वह फ़ंक्शन जो समान फ़ंक्शन को कॉल करता है, रिकर्सिव फ़ंक्शन के रूप में जाना जाता है। एक फ़ंक्शन जो स्वयं को कॉल करता है, और फ़ंक्शन कॉल के बाद कोई कार्य नहीं करता है, पूंछ रिकर्सन के रूप में जाना जाता है।

फंक्शन ओवरलोडिंग से आप क्या समझते हैं ?

फंक्शन ओवरलोडिंग (विधि ओवरलोडिंग भी) एक प्रोग्रामिंग अवधारणा है जो प्रोग्रामर को एक ही नाम और एक ही दायरे में दो या दो से अधिक कार्यों को परिभाषित करने की अनुमति देती है। प्रत्येक फ़ंक्शन में एक अद्वितीय हस्ताक्षर (या शीर्षलेख) होता है, जो कि: फ़ंक्शन / प्रक्रिया नाम से प्राप्त होता है। तर्कों की संख्या। तर्क' प्रकार।

C++ में & का क्या अर्थ है?

C++ वेरिएबल डिक्लेरेशन में & सिंबल का मतलब है कि यह एक रेफरेंस है। यह एक पॉइंटर का संदर्भ होता है, जो आपके द्वारा देखे जा रहे शब्दार्थ की व्याख्या करता है; कॉल किया गया फ़ंक्शन पॉइंटर को कॉलिंग संदर्भ में बदल सकता है, क्योंकि इसका संदर्भ है।

क्या सी ++ में संदर्भ द्वारा सरणी पारित की जाती हैं?

सरणियाँ "डिफ़ॉल्ट रूप से संदर्भ द्वारा पारित " नहीं हैं। सी ++ में, सी-स्टाइल सरणी केवल संदर्भ द्वारा पारित की जाती है जब फ़ंक्शन का पैरामीटर किसी सरणी (या उपयुक्त टेम्पलेट पैरामीटर) का संदर्भ होता है।