this question का जवाब देते हुए मुझे थोड़ा उलझन मिला। हम सभी जानते हैं कि यह सी ++ प्रति सेमेन्टिक्स के कारण ठीक काम करता है:ढेर और संदर्भों पर ऑब्जेक्ट्स
int *some_obj = new int(42);
int a_copy = *some_obj;
delete some_obj;
printf("The answer is %d\n", a_copy);
लेकिन इसके बारे में क्या?
int *some_obj = new int(42);
int& a_ref = *some_obj;
delete some_obj;
printf("The answer is %d\n", a_ref);
क्या यह हटाई गई मेमोरी एक्सेस कर रहा है?
संभावित रूप से विभिन्न रूपों में विभिन्न बार पूछा जाता है, लेकिन यह बहुत Google अनुकूल नहीं है। नरक, मैं एक सभ्य खिताब नहीं बना सका।
अब जब मैं उस पर विकिपीडिया पेज का एक हिस्सा पढ़ता हूं, तो यह [इस खंड] के अंतिम पैराग्राफ में स्पष्ट रूप से बताता है (http://en.wikipedia.org/wiki/Reference_ (सी% 2 बी% 2 बी) #Relationship_to_pointers)। अस्थायी संदर्भों को वापस करने के बारे में क्या (ए कुछ यादृच्छिक वर्ग है) 'ए और func() {वापसी ए(); } '? – orlp
यह वही समस्या है। आप उस ऑब्जेक्ट का संदर्भ लौट रहे हैं जो कॉलर को प्राप्त होने पर मौजूद नहीं है। –
ठीक है, समझाए जाने के लिए धन्यवाद। – orlp