मुझे लगता है कि हम सभी स्मृति हटाने के लिए गतिशील रूप से आवंटित सूचक को पुन: असाइन करते समय हटाए जाने की आवश्यकता को समझते हैं। हालांकि, मैं उत्सुक हूं, सी ++ किस हद तक हटाने का उपयोग जरूरी है? उदाहरण के लिए, निम्नलिखित कार्यक्रमहमेशा नए द्वारा हटाया जाना चाहिए?
int main()
{
int* arr = new int[5];
return 0;
}
जबकि सभी इरादों और मकसदों के लिए कोई रिसाव यहां होता है (अपने कार्यक्रम समाप्त हो रहा है और एक बार यह रिटर्न ओएस सभी स्मृति को साफ करेंगे के बाद से) ले, लेकिन मानक अभी भी आवश्यकता होती है - - या सिफारिश करें - इस मामले में हटाने [] का उपयोग? यदि नहीं, तो क्या कोई अन्य कारण होगा कि आप यहां [] क्यों हटा देंगे?
दरअसल, मेरा मतलब है कि मैं खुद को अक्सर वापस लौटने से पहले [] बयान हटा देता हूं, भले ही मुझे पता था (व्यावहारिक स्तर पर) कि इससे कोई फर्क नहीं पड़ता। और यह ऐसी आदत नहीं है जिसे मैं रोकने के लिए देख रहा हूं - मुझे बस इतना हद तक दिलचस्पी थी कि मानक ने इसकी सिफारिश की थी। – GRB