हां, यह एक खतरनाक सूचक देगा। यदि आप मूल्य को जारी रखना चाहते हैं, तो आपके पास कुछ संभावनाएं हैं। एक यह है कि चूंकि आप स्पष्ट रूप से वास्तव में एक मूल्य वापस करना चाहते हैं, वही करें - एक सूचक के बजाय मूल्य वापस करें। दूसरा एक नया ऑब्जेक्ट आवंटित करना है, और उस गतिशील आवंटित स्थान पर एक सूचक वापस कर देना है। यह ऑब्जेक्ट को कॉलर की ज़िम्मेदारी को हटा देता है, हालांकि, जो मेमोरी लीक और इस तरह के कारण हो सकता है।
अंत में, आप आम तौर पर यह पता लगाना चाहते हैं कि वेरिएबल वास्तव में किस स्कोप की ज़रूरत है, और उसके पास उस स्कोप के साथ कुछ (अक्सर एक ऑब्जेक्ट) स्वामित्व है, इसलिए इसे स्वचालित रूप से दायरे में प्रवेश पर बनाया जाएगा, और दायरे से बाहर निकलने पर स्वचालित रूप से नष्ट कर दिया।
यदि आप ऐसा नहीं कर सकते हैं, तो आपको अभी भी यह पता लगाना होगा कि वस्तु का "मालिक" कौन है, और आवश्यकतानुसार इसे नष्ट करने के लिए जिम्मेदार होगा। एक बार थोड़ी देर में पिन करना मुश्किल होता है, और चीजों का ट्रैक रखने के लिए आपको संदर्भ-गणना वाले पॉइंटर की तरह कुछ चाहिए। कम से कम मेरे अनुभव में, इनका उपयोग वास्तव में अक्सर होने के मुकाबले कहीं अधिक होता है। मैं सी ++ को तब तक लिख रहा हूं जब तक कि एटी & टी के बाहर कोई भी व्यक्ति नहीं है, और अभी तक एक साझा_प्टर की आवश्यकता नहीं है। कुछ बार, मैंने सोचा है कि मुझे इसकी आवश्यकता होगी, लेकिन आखिर में एक क्लीनर डिज़ाइन की आवश्यकता को समाप्त कर दिया गया।
स्रोत
2010-04-30 16:35:19
यहां कोई कचरा संग्रह नहीं है। बस अवांछित ढेर। – Tom