BY CONTENT
और BY VALUE
के बीच CALL
कथन में कथन में क्या अंतर है?कॉल स्टेटमेंट में सामग्री और BY VALUE के बीच क्या अंतर है?
उत्तर
BY CONTENT
एक CALL
पर एक करने के लिए पहचानकर्ता की सामग्री की नकल करेंगे भंडारण के कंपाइलर-प्रबंधित क्षेत्र, जिसे तब "संदर्भ द्वारा" कॉल किए गए कार्यक्रम में भेजा जाएगा licitly।
इसका मतलब है कि कॉल किया गया प्रोग्राम डेटा बदल सकता है, लेकिन कॉल किए गए प्रोग्राम में कोई भी परिवर्तन कॉलिंग प्रोग्राम में मूल डेटा को प्रभावित नहीं करेगा।
कंपाइलर के लिए मान्य किसी भी आकार का कोई पहचानकर्ता, सामग्री द्वारा उपयोग किया जा सकता है (यदि मौजूदा कंपाइलर के लिए दस्तावेज किया गया है, तो किसी भी सीमा के अधीन है - जिसे आप कभी नहीं जानते)।
हालांकि आप एक कॉल किए गए प्रोग्राम में मान बदल सकते हैं, तो ऐसा करने के लिए यह थोड़ा अस्पष्ट प्रतीत होता है।
BY VALUE
एक पूरी तरह से अलग जानवर है। यह बहुत सीमित है, जिसमें "पास" मान या तो "पूर्णांक" या एक बाइट अल्फान्यूमेरिक मान हो सकता है। यह एक शाब्दिक भी हो सकता है।
PROCEDURE DIVISION USING ...
को पता होना चाहिए कि BY VALUE के मामले में, ऐसा है, इसे कॉल के बराबर तरीके से निर्दिष्ट करके। संदर्भ के अनुसार और कॉल पर सामग्री द्वारा प्रोसेस डिवीजन उपयोग पर संदर्भ के अनुसार दोनों हैं।
यह कैसे लागू किया गया है विशिष्ट संकलक के लिए नीचे है। आईबीएम एंटरप्राइज़ कोबोल मूल्य को "पैरामीटर सूची" में रखता है।
@ven, धन्यवाद, हालांकि मुझे लगता है कि मुझे अपने नए शब्द "मैंगेड" का उपयोग करने के अवसरों की तलाश करनी चाहिए। –
निश्चित रूप से, कोबोल के विकासशील क्षेत्र में आपके लिए कुछ अवसर होंगे :-)। – Ven
सामग्री द्वारा पास पैरामीटर संदर्भ द्वारा गुजरने जैसा ही है, सिवाय इसके कि जब कॉल पूरा हो गया है तो डेटा को COBOL स्मृति में वापस कॉपी नहीं किया गया है। इसका मतलब है कि मूल चर को कॉलेड इकाई द्वारा संपादित नहीं किया जा सकता है।
तो BY CONTENT
और BY VALUE
के बीच का अंतर BY VALUE
के मामले में केवल मान प्रदान किया जाता है और वजह नहीं चर के सभी प्रकार के हैं, जबकि BY CONTENT
एक की नकल की चर का सूचक पारित हो इस तरह से हर इस तरह से पारित कर दिया और किया जा सकता है चर का प्रकार पारित किया जा सकता है।
संदर्भ द्वारा:
एक पैरामीटर संदर्भ द्वारा पारित कर दिया जाता है, JVM कोबोल में आइटम की एक प्रतिलिपि मूल कोड को पारित कर दिया है। जब मूल के लिए कॉल समाप्त हो गया है, तो देशी कोड में दी गई जानकारी में कोई भी परिवर्तन JVM COBOL पर वापस कॉपी किया गया है। हालांकि, इसका मतलब यह है कि स्मृति जेवीएम और देशी वातावरण के बीच साझा की गई है। वास्तव में, वास्तव में मूल कोड को पास किया गया है जो प्रतिलिपि डेटा के लिए एक सूचक है। यदि आप गैर-COBOL प्रोग्राम को कॉल कर रहे हैं तो यह उपयोगी है। इसके प्रभाव बहुत महत्वपूर्ण हैं, खासकर बहु-थ्रेडेड वातावरण में। संदर्भ पैरामीटर में कोई भी परिवर्तन को JVM COBOL कॉलिंग प्रोग्राम तक दिखाई नहीं देता है जब तक कॉल पूरा नहीं हो जाता है। मनमाने ढंग से जटिल समूह आइटम (स्मृति सीमाओं के भीतर) संदर्भ द्वारा पारित किया जा सकता है। समूह परिभाषा देशी और JVM COBOL स्रोत कोड में समान होनी चाहिए और इसमें USAGE POINTER आइटम शामिल नहीं होना चाहिए। स्ट्रिंग्स (java.lang.Strings) और तालिकाओं (java.lang.byte arrays) संदर्भ द्वारा पारित किया जा सकता है। अन्य सभी ऑब्जेक्ट्स ( java.lang.Object से वैल्यूटाइप सहित) प्राप्त करने वाले प्रकार संदर्भ (या मूल्य से - नीचे देखें) द्वारा पारित नहीं किए जा सकते हैं।
सामग्री
सामग्री द्वारा मानकों को पारित करके सिवाय इसके कि डेटा JVM कोबोल स्मृति में वापस कॉपी नहीं किया जाता है जब कॉल पूरा कर लिया है संदर्भ, से गुजर के समान है। संदर्भ द्वारा पारित किया जा सकता है कि कोई भी आइटम सामग्री द्वारा पारित किया जा सकता है। मूल्य पिक एक्स (4) कंप्यूटर अनुप्रयोग-x से पारित करने के लिए प्रकार की सिफारिश की - द्विआधारी लंबी:
तक मूल्य
JVM कोबोल में, केवल आइटम है कि मूल्य द्वारा पारित किया जा सकता के रूप में इस प्रकार हैं पिक (9) 9 कंप्यूटर अनुप्रयोग पिक रों (9) 9 कंप्यूटर अनुप्रयोग पिक (9) 9 कंप्यूटर अनुप्रयोग -5 पिक रों (9) 9 कंप्यूटर अनुप्रयोग-5
मैं आपसे सहमत नहीं हूं, JVM या कोई JVM यह वही काम करता है, और स्वीकृत उत्तर के समान जानकारी है। –
ठीक है, बुलाए गए कार्यक्रम बिंदुओं से, वे समान हैं। कि उन्हें वापस कॉपी नहीं किया गया है यह कहने का एक पिछड़ा तरीका है कि उन्हें डिस्पोजेबल स्टोरेज में कॉपी किया गया है और किसी भी बदलाव को नजरअंदाज कर दिया जाएगा। –
धन्यवाद, प्रश्न को और अधिक प्रतिबिंबित करने के लिए उत्तर अपडेट किया गया। –
- 1. डेल्फी में AsInteger और Value के बीच क्या अंतर है?
- 2. jQuery .val() और .attr ('value') के बीच क्या अंतर है?
- 3. .Value = "" और .ClearContents के बीच क्या अंतर है?
- 4. सिस्टम कॉल और लाइब्रेरी कॉल के बीच क्या अंतर है?
- 5. क्या `: key =>" value "` और `key:" value "` हैश नोटेशन के बीच कोई अंतर है?
- 6. कोणीय सामग्री और पॉलिमर के बीच क्या अंतर है?
- 7. सामग्री और बनावट के बीच क्या अंतर है?
- 8. क्या एमआईएमई और सामग्री प्रकार के बीच कोई अंतर है?
- 9. संदर्भ द्वारा कॉल के बीच क्या अंतर है और
- 10. फ़ंक्शन कॉल और फ़ंक्शन संदर्भ के बीच क्या अंतर है?
- 11. फ़ंक्शन "मेल()" और "@mail()" कॉल के बीच क्या अंतर है?
- 12. "कॉल" और "आमंत्रण" के बीच क्या अंतर है?
- 13. कॉल स्टैक और स्टैक ट्रेस के बीच क्या अंतर है?
- 14. $ {value} और {{value}}
- 15. पर्ल में फ़ंक्शन कॉल और गोटो और NAME के बीच क्या अंतर है?
- 16. `&` और `ref` के बीच क्या अंतर है?
- 17. # {} $ {} और% {} के बीच क्या अंतर है?
- 18. सामग्री-विस्थापन: "इनलाइन" और "अनुलग्नक" के बीच अंतर क्या हैं?
- 19. क्लोजर फ़ंक्शन (एनटी [कॉल इंडेक्स]) और संरचना (अंतिम (इंडेक्स कॉल लेना) के बीच क्या अंतर है)
- 20. पायथन सीप्रोफाइल में, कॉल गिनती और आदिम कॉल गिनती के बीच क्या अंतर है?
- 21. जावास्क्रिप्ट में $ $ और $ के बीच क्या अंतर है?
- 22. Django फ़िल्टर स्टेटमेंट में __in और बराबर चिह्न (=) के बीच क्या अंतर है?
- 23. Django फ़िल्टर स्टेटमेंट में __exact और बराबर चिह्न (=) के बीच क्या अंतर है?
- 24. जेनरेटर में स्टॉपइटरेशन और रिटर्न स्टेटमेंट बढ़ाने के बीच क्या अंतर है?
- 25. ग्रहण और समस्याओं के बीच ग्रहण में क्या अंतर है?
- 26. बाहर निकलने और वापसी के बीच क्या अंतर है?
- 27. एसिंक्रोनस कॉल और एसिंक्रोनस आईओ कॉल के बीच अंतर .net
- 28. पायथन में {} और [] के बीच क्या अंतर है?
- 29. Angular2 में HttpModule और HttpClientModule के बीच क्या अंतर है?
- 30. जावा में, this.method() और विधि() के बीच क्या अंतर है?
प्रश्न ओएस और कंपाइलर का उल्लेख करना चाहिए। उत्तरों में वर्तमान में वे विवरण शामिल हैं जो विभिन्न कंपाइलरों के लिए हमेशा सत्य नहीं होते हैं। उदाहरण के लिए, VALUE तक हमेशा {an "पूर्णांक" या एक बाइट अल्फान्यूमेरिक मान तक सीमित नहीं होता है) और शाब्दिक, और किसी भी वैध डेटा प्रकार को कम से कम कुछ COBOL कंपाइलर्स में VALUE द्वारा पारित किया जा सकता है। – user2338816