mobile theme mode icon
theme mode light icon theme mode dark icon
Random Question अनियमित
speech play
speech pause
speech stop

फ़ंक्शंस में रिटेन्ड मेमोरी को समझना

किसी फ़ंक्शन के संदर्भ में, `retains` इस तथ्य को संदर्भित करता है कि फ़ंक्शन उस मेमोरी को रिलीज़ या मुक्त नहीं करता है जिसका वह उपयोग करता है। इसके बजाय, यह मेमोरी को पकड़कर रखता है और जब इसकी आवश्यकता नहीं रह जाती है तो इसे हटाने के लिए जिम्मेदार होता है। दूसरे शब्दों में, एक फ़ंक्शन जो मेमोरी को बनाए रखता है वह मेमोरी का उपयोग समाप्त होने के बाद उसे ढेर या स्टैक पर वापस नहीं करता है। इसका मतलब यह है कि फ़ंक्शन मेमोरी के जीवनकाल को प्रबंधित करने के लिए ज़िम्मेदार है, जो कुछ स्थितियों में उपयोगी हो सकता है लेकिन मेमोरी लीक से बचने के लिए सावधानीपूर्वक प्रबंधन की भी आवश्यकता होती है। उदाहरण के लिए, एक फ़ंक्शन पर विचार करें जो एक बड़ी डेटा संरचना के लिए मेमोरी आवंटित करता है और फिर रिटर्न देता है कॉलर को उस डेटा संरचना का सूचक। यदि फ़ंक्शन आवश्यकता न होने पर मेमोरी को रिलीज़ नहीं करता है, तो मेमोरी को फ़ंक्शन द्वारा बनाए रखा जाएगा और कॉल करने वाला बाद में इसे हटाने के लिए जिम्मेदार होगा। इससे मेमोरी लीक हो सकती है यदि कॉल करने वाला मेमोरी को हटाना भूल जाता है। इसके विपरीत, एक फ़ंक्शन जो स्टैक या हीप पर आवंटित मेमोरी में एक पॉइंटर लौटाता है और फिर मेमोरी को तब रिलीज़ करता है जब इसकी आवश्यकता नहीं रह जाती है (यानी, ` Malloc` और `free`) मेमोरी बरकरार नहीं रखता है। जैसे ही फ़ंक्शन का उपयोग समाप्त हो जाता है, मेमोरी को वापस ढेर या स्टैक पर छोड़ दिया जाता है, इसलिए कॉल करने वाले को मेमोरी के जीवनकाल को प्रबंधित करने के बारे में चिंता करने की आवश्यकता नहीं होती है।

Knowway.org आपको बेहतर सेवा प्रदान करने के लिए कुकीज़ का उपयोग करता है। Knowway.org का उपयोग करके, आप कुकीज़ के हमारे उपयोग के लिए सहमत होते हैं। विस्तृत जानकारी के लिए, आप हमारे कुकी नीति पाठ की समीक्षा कर सकते हैं। close-policy