में अन्य सी ++ विशेषताएं, संदर्भ तर्क की गूगल सी ++ स्टाइल गाइड , मैंने पढ़ा है कि गैर स्थिरांक संदर्भ नहीं किया जाना चाहिए।
संदर्भ द्वारा पारित सभी मापदंडों को कॉस्ट लेबल किया जाना चाहिए।
यह स्पष्ट है कि फ़ंक्शन कॉल को देखने के लिए जो संदर्भों का उपयोग करते हैं, तर्क के रूप में सी प्रोग्रामर के लिए बिल्कुल भ्रमित है, लेकिन सी और सी ++ अब अलग-अलग भाषाएं हैं। यदि एक आउटपुट पैरामीटर की आवश्यकता होती है , तो आवश्यक आउटपुट पैरामीटर के लिए एक पॉइंटर का उपयोग करके, पूरे फ़ंक्शन बॉडी को छोड़ दिया जा सकता है, जो फ़ंक्शन के कार्यान्वयन को और अधिक जटिल बनाता है (औपचारिक रूप से एक फ़ंक्शन के साइक्लोमैटिक जटिलता और गहराई को बढ़ाता है )।
मैं सी ++ कोड को यथासंभव समझना / बनाए रखना आसान बनाना चाहता हूं, इसलिए मैं आमतौर पर कोडिंग स्टाइल गाइड को पढ़ने के लिए इच्छुक हूं। लेकिन एक टीम में सर्वश्रेष्ठ प्रथाओं को अपनाने के लिए, मुझे लगता है कि शैली गाइड तत्वों के पीछे तर्क को समझना एक महत्वपूर्ण कारक है।
क्या गैर-कास्ट संदर्भ वास्तव में खराब हैं? क्या उन्हें केवल Google विशिष्ट बनाना प्रतिबंधित है या यह आमतौर पर स्वीकृत नियम है? संकेत के रूप में आउटपुट मापदंडों को लागू करने के लिए अतिरिक्त प्रयास का क्या औचित्य है?