हटाएं हम मॉलोक और सी ++ में नए का उपयोग करके सी में स्मृति आवंटित करते हैं। मुझे पता है कि आवंटित स्मृति को मुक्त किया जा सकता है या सी में मुफ्त में ओएस को वापस दिया जा सकता है और सी ++ में हटा दिया जा सकता है। अगर मैं स्मृति आवंटित करने के बाद मुक्त/हटाएं का उपयोग करना भूल गया, तो इसका मतलब है कि स्मृति रिसाव होगी।सी, सी ++ में मेमोरी लीक; मुक्त करने के लिए भूल गए,
अब, मेरा सवाल यह है कि, यह स्मृति केवल कार्यक्रम के निष्पादन की अवधि के दौरान रिसाव है; या यह स्थायी रिसाव/हानि है या सिस्टम को पुनरारंभ करने के बाद इसे फिर से प्राप्त किया जाता है? वास्तव में आंतरिक प्रक्रिया क्या है? स्मृति रिसाव/हानि वास्तव में क्या मतलब है?
यदि कोई इसे विस्तार से समझा सकता है या मुझे कुछ अच्छे संदर्भ प्रदान कर सकता है तो मैं बहुत आभारी हूं।
UPDATE 1
कुछ जवाब पढ़ने के बाद, मुझे पता चला कि स्मृति वापस ओएस/व्यवस्था करने के लिए कार्यक्रम समाप्त हो जाता है के बाद, कि यदि ऐसा है तो है, क्यों हर कोई स्मृति रिसाव के बारे में इतना परवाह करने की जरूरत है, और क्यों स्मृति को रोकने में दिया जाता है रिसाव बहुत महत्वपूर्ण है?
अद्यतन 2
तो, स्मृति रिसाव रोका जाना चाहिए ताकि प्रणाली आवंटन प्रयोजनों के लिए पर्याप्त स्मृति की कमी के कारण क्रैश नहीं होता ??
अद्यतन 3
तो, सभी जवाब पढ़ने के बाद, मुझे एहसास हुआ कि स्मृति रिसाव प्रणाली दुर्घटनाओं को रोकने के लिए शांत महत्वपूर्ण मुद्दों है। लेकिन, मेरे जैसे शुरुआती व्यक्ति के लिए, मैं कैसे सुनिश्चित कर सकता हूं कि मेरा प्रोग्राम स्मृति रिसाव से पूरी तरह से मुक्त है या नहीं। मैं मुक्त करने की कोशिश करता हूं, अगर मैं मॉलोक का उपयोग कर रहा हूं, तो हटाएं, लेकिन कभी-कभी, यह गन्दा हो जाता है। क्या कोई उपकरण या विधि है जिसका उपयोग मैं यह जानने के लिए कर सकता हूं कि मेरा प्रोग्राम कोई स्मृति रिसाव कर रहा है या नहीं?
अद्यतन 4
जवाब पढ़ने के बाद, मैं अब स्मृति रिसाव मुक्त कोड, नए/हटाने के लिए, एसटीएल का अधिक उपयोग के कम उपयोग की महत्व को समझा है, आरए II, valgrind और अच्छा प्रोग्रामिंग प्रथाओं जैसे नए सामान सीखा है। सभी के लिए धन्यवाद :)
अपने 2 संपादित उत्तर देने के लिए, मेरा उत्तर में 2 पैरा देख –