जब मैं किसी प्रक्रिया में const
पैरामीटर का उपयोग करता हूं तो इससे क्या फर्क पड़ता है? और केवल पढ़ने के लिए - पैरामीटर Text: String
(मैं जानता हूँ कि जहाँ तक) तो const
कि उपसर्ग के साथ किया जाता है, मूल्य की एक प्रतिलिपि बना और प्रयोग किया जाता हैजब मैं प्रक्रिया के पैरामीटर में "const" का उपयोग करता हूं तो इससे क्या अंतर होता है?
procedure DoSomething(Sender: TObject; const Text: String; var Reply: String);
begin
//Text is read-only and Reply will be passed back wherever DoSomething() was called
Reply:= Text;
end;
:
उदाहरण के लिए निम्नलिखित प्रक्रिया ले लो । मैं क्या सोच रहा था यह है कि अगर मैं const
नहीं डालता तो इससे अलग-अलग एप्लिकेशन को कैसे प्रभावित किया जाता है? शायद एक प्रदर्शन चाल?
यहाँ उत्तर दिया? http://stackoverflow.com/a/1601124/496736 –
ज्यादातर मामलों में, मुझे लगता है कि सभी इनपुट-केवल पैरामीटर को 'कॉन्स्ट' के रूप में चिह्नित करने का मुख्य लाभ यह है कि आप प्रोग्रामर को मूर्खता से बचने में अतिरिक्त सहायता मिलेगी कीड़े। –
@ एंड्रियास क्या गड़बड़ है कि 'कॉन्स्ट' को इंटरफ़ेस और कार्यान्वयन दोनों में शामिल करने की आवश्यकता है। यह एक ऐसा क्षेत्र है जहां सी ++ डेल्फी धड़कता है। –