मैं हाल ही में नई सी ++ 11 विशेषताओं को सीख रहा हूं। हालांकि, मैं राजस्व के बारे में एक बात पूरी तरह से समझ नहीं पा रहा हूं।सी ++ में संग्रहीत रैल्यू कहां हैं?
कोड निम्नलिखित पर विचार करें:
string getText()
{
return "Fabricati diem";
}
string newText = getText();
कॉल getText()
के लिए एक आर-मूल्य जो newText
चर को कॉपी किया है बनाता है। लेकिन यह रैल्यू कहाँ संग्रहित है? और प्रतिलिपि के बाद इसका क्या होता है?
वास्तव में यह [वापसी मूल्य अनुकूलन] (http://en.wikipedia.org/wiki/Return_value_optimization) के कारण कॉपी नहीं किया गया है – CoryKramer
@ साइबर इसे स्थानांतरित नहीं किया जा सकता * और * RVO'd। यह एक या दूसरा है, जो बाद में सबसे अधिक संभावना है। – juanchopanza
अच्छी पकड़, आप सही हैं। मैंने अपनी टिप्पणी संपादित की। – CoryKramer