मुझे आशा है कि यह प्रश्न विषय पर है।आउट पैरामीटर के रूप में कुछ लौटने के लिए सही शब्द क्या है?
मैं कोड की समीक्षा कर रहा था और ठोकर खाई निम्नलिखित समारोह पर:
bool SomeFunc(std::string& o_xxx, char& o_yyy);
इस समारोह बाहर मापदंडों के माध्यम से xxx
और कुछ वर्ग के yyy
के मूल्यों को पुनः प्राप्त किया जाता है।
टिप्पणियां (जो बाद में ऑटो प्रलेखन के लिए उपयोग किया जाता है) कहते हैं:
... इस समारोह रिटर्न संदर्भ द्वारा [XXX] और [yyy] ...
जाहिर है समारोह सफलता या विफलता का संकेत देने वाला एक बूलियन मान देता है। तो उपर्युक्त वाक्य को फिर से भरना होगा। पर कैसे? किसी चीज को वापस करने के लिए सही शब्द (यदि कोई है), जैसा कि, बाहर पैरामीटर के माध्यम से, या, दूसरे शब्दों में, संदर्भ द्वारा पारित तर्क को पॉप्युलेट करना क्या है?
प्रश्न भाषा अज्ञेयवादी टैग की गई है, क्योंकि यह C++ विशिष्ट नहीं है। लेकिन यह सी ++ भी टैग किया गया है क्योंकि उदाहरण सी ++ में है।
मैं आमतौर पर की "समारोह की सफलता या विफलता का संकेत एक मान देता है प्रभाव से कुछ का कहना है कि सफलता के मामले में' o_xxx' होगा। [xxx] और 'o_yyy' का मान [yyy] का मान होगा। विफलता के मामले में, तर्क अपरिवर्तित हैं।" –
आउट पैरामीटर कभी-कभी उपयोग किए जाते हैं क्योंकि लौटने के लिए एक से अधिक पैरामीटर होते हैं। यदि आप उन्हें कक्षा में जोड़ते हैं तो आप केवल एक उदाहरण वापस कर सकते हैं। कभी-कभी बाहर पैरामीटर दक्षता के लिए उपयोग किया जाता है। अंत में, आप डेटा क्यों पास कर रहे हैं? Encapsulate: बताओ, मत पूछो! –
@ आर। मार्टिन्हो फर्नांडीस: "विफलता के मामले में, तर्क अपरिवर्तित हैं" - और ध्यान दें कि यह एक मजबूत अपवाद गारंटी है।तो यदि आप यह कहते हैं, तो 'o_yyy' को असाइन करने से पहले * * o_xxx' को असाइन करना सुनिश्चित करें, क्योंकि स्ट्रिंग असाइनमेंट वह है जो असफल हो सकता है। या स्वैप का उपयोग करें। –