] इस लेख का उद्देश्य स्लाइसिंग और उनके संभावित परिणामों के लिए दो दृष्टिकोणों की जांच करके स्पष्टीकरण प्रदान करना है। हालांकि यह आम तौर पर कुशल है, यह मेमोरी लीक का कारण हो सकता है यदि पॉइंटर्स का उपयोग किया जाता है। ऐसा इसलिए है क्योंकि मूल बैकिंग सरणी बरकरार है, जिसका अर्थ है कि नए स्लाइस के बाहर पॉइंटर्स द्वारा संदर्भित कोई भी ऑब्जेक्ट अभी भी मेमोरी पर कब्जा कर सकता है।
k, n: = len (a) -j i, len (a) के लिए; k यह दूसरा दृष्टिकोण मेमोरी रिसाव क्षमता को स्पष्ट रूप से nil-ing (या शून्य मान असाइन करना) को मूल बैकिंग सरणी में तत्वों को संबोधित करता है, जिनकी अब आवश्यकता नहीं है। यह सुनिश्चित करता है कि किसी भी झूलने वाले पॉइंटर्स को हटा दिया जाता है, जिससे किसी भी संदर्भित ऑब्जेक्ट को कचरा एकत्र किया जा सकता है। यदि स्लाइस को इन पॉइंटर्स के बिना निल-आईएनजी के बिना काटा जाता है, तो वे जिन वस्तुओं का संदर्भ वे स्मृति में बने हुए हैं, भले ही वे अब स्लाइस से उपलब्ध न हों। स्लाइस और हेडर भी समान व्यवहार प्रदर्शित करते हैं। हालाँकि, गैर-पॉइंटर्स के साथ, संदर्भित तत्वों को बैकिंग सरणी के भीतर संग्रहीत किया जाता है, जो कि स्लाइसिंग संचालन की परवाह किए बिना उनके अस्तित्व को सुनिश्चित करता है। संबंधित तत्व को शून्य मान असाइन करना यह सुनिश्चित करता है कि बैकिंग सरणी के बाहर की वस्तुओं के किसी भी संदर्भ को हटा दिया जाता है। अनुशंसित स्लाइसिंग दृष्टिकोण का पालन करके और पॉइंटर्स का उपयोग करते समय संभावित मेमोरी लीक के बारे में पता होना, डेवलपर्स गो में कुशल और मेमोरी-सचेत कोड लिख सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3