पर भरोसा करते हुए आप वापसी मूल्य अनुकूलन का उपयोग करने के बारे में कैसे जाते हैं?
क्या कोई ऐसा मामला है जहां मैं ऑप्टिमाइज़ेशन का उपयोग करने के लिए एक आधुनिक कंपाइलर पर भरोसा कर सकता हूं, या क्या मुझे हमेशा सुरक्षित तरीके से जाना चाहिए और किसी प्रकार के पॉइंटर को वापस करना चाहिए/पैरामीटर के रूप में संदर्भ का उपयोग करना चाहिए?रिटर्न वैल्यू ऑप्टिमाइज़ेशन
क्या कोई ज्ञात मामला है जहां रिटर्न वैल्यू ऑप्टिमाइज़ेशन नहीं बनाया जा सकता है ?, मुझे लगता है कि रिटर्न वैल्यू ऑप्टिमाइज़ेशन एक कंपाइलर के प्रदर्शन के लिए काफी आसान होगा।
ध्यान रखें कि संकलक यह निर्धारित करने का निर्णय ले सकता है कि जब यह निर्धारित करता है कि आरवीओ वास्तव में किसी विशेष मामले में अनुकूलन नहीं है। इसलिए, आपको केवल उपयोगी होने पर इसे करने के लिए संकलक पर भरोसा नहीं करना पड़ता है, लेकिन आपको इसे अनुचित होने पर _not_ करने पर भी भरोसा करना पड़ता है। – MSalters
स्पष्टीकरण के लिए: एक सामान्य मामला जिसमें यह अनुचित है, जब लौटाया गया प्रकार किसी रजिस्टर में पास किया जा सकता है, उदा। एक 'रेडियंस' वर्ग। आरवीओ तकनीक ढेर पर आवंटित स्थान का उपयोग करती है, और इस प्रकार स्मृति तक पहुंचने का ओवरहेड होता है। – MSalters
@MSalters ठीक है, जानना दिलचस्प है। असल में, जिस अनुकूलन में मुझे रूचि है, वह उदाहरण के लिए एक std :: vector <> कॉपी करने के लिए टालना है। –