मैं अपने सी ++ पुस्तक (Deitel) पढ़ रहा था जब मैं एक घन का आयतन की गणना करने के एक समारोह के बारे में जाना। कोड है निम्नलिखित:मूल्य से गुजरते समय "const" अनावश्यक नहीं है?
double cube (const double side){
return side * side * side;
}
"स्थिरांक" क्वालीफायर का उपयोग कर के लिए विवरण इस एक था: "स्थिरांक योग्य कम से कम विशेषाधिकार के सिद्धांत को लागू करने के लिए इस्तेमाल किया जाना चाहिए, संकलक समारोह को संशोधित नहीं है कि कह रहा परिवर्तनीय पक्ष "।
मेरा प्रश्न: वैरिएबल को मूल्य से पारित होने के बाद यहां "कॉन्स्ट" अनावश्यक/अनावश्यक का उपयोग नहीं है, इसलिए फ़ंक्शन इसे किसी भी तरह संशोधित नहीं कर सकता है?
'const' यहाँ का अर्थ है कि आप संशोधित नहीं कर सकते' अंदर 'घन()' विधि side' पैरामीटर अप्रत्याशित व्यवहार से बचने के लिए। –
कभी कभी बातें आवश्यकता की तुलना में 'अच्छा अभ्यास' के बारे में और अधिक कर रहे हैं। मुझे लगता है कि यह उन समयों में से एक है। – destan
मुझे लगता है कि उत्तरों ने यह बताने का अच्छा काम किया है कि आप ऐसा क्यों करेंगे, लेकिन मैं इसे बाहरी कॉलर में जोड़ दूंगा, 'const' * * अनावश्यक है और यह फ़ंक्शन के हस्ताक्षर का हिस्सा नहीं है। इसका मतलब है कि आप कुछ भी बदले बिना फंक्शन घोषणा में इसे छोड़ सकते हैं। आप भी इसे बाद में हटा सकते हैं यदि किसी कारण से आप अपने कोड कम पोषणीय बनाना चाहते हैं, और यह बुला कोड को प्रभावित नहीं करेगा। –