मैं मान लिया जाये कि है:सी ++ स्थिरांक lvalue संदर्भ
- वर्ग एक जो गैर copyable है
- वर्ग बी जो एक सदस्य के रूप में स्थिरांक एक & है एक (और इसके constructer में एक एक लेता है और यह सेट इसके प्रारंभ सूची)
- एक समारोह में
A GenerateA();
इसका मतलब यह है कि यह करने के लिए वैध होना चाहिए: बी (GenerateA()) ?
यानी, क्या कॉन्स्ट रेफ का मतलब है कि ए उत्पन्नकर्ता ए() रिटर्न का कोई प्रति नहीं किया जाता है? और क्या इसका मतलब यह है कि लौटा अस्थायी का दायरा तब तक बढ़ाया जाता है जब तक बी मौजूद है?
संपादित करें: टिप्पणियों से युद्ध प्रश्न: यह एक स्थानीय एक को GenerateA() से एक एक & वापस जाने के लिए स्वीकार्य है, अगर lvalue एक स्थिरांक एक & है?
धन्यवाद!
आप जीवन के समाप्त होने वाले मूल्य के संदर्भ में नहीं रह सकते हैं; जो वास्तव में होता है जब आप किसी स्थानीय चर के संदर्भ को वापस करते हैं। – GManNickG
@GMan: यह अनिवार्य रूप से मेरे प्रश्न का इरादा था, यानी, एक कॉन्स्ट संदर्भ का उपयोग करते हुए कहा गया वस्तु का जीवनकाल बदलता है। –