new का उपयोग गतिशील स्मृति आवंटन के लिए किया जाता है। इस मामले में आवंटित स्मृति ढेर पर जाती है। इस प्रकार के मेमोरी आवंटन से जुड़ी कई लागतें हैं, साथ ही प्रोग्रामर को मैनुअल मेमोरी क्लीनिंग और प्रबंधन करना पड़ता है। इस प्रकार के आवंटन का उपयोग तब किया जाना चाहिए जब -
- आप नहीं जानते कि संकलन के समय आपको कितनी मेमोरी की आवश्यकता है।
- आप स्मृति आवंटित करना चाहते हैं जो वर्तमान ब्लॉक को छोड़ने के बाद बनी रहेगी।
इनके अलावा, ऐसे बहुत कम मामले हैं जहां गतिशील स्मृति आवंटन की आवश्यकता होती है। ऐसा इसलिए है, क्योंकि सी ++ में, विनाशक की अवधारणा है। किसी वस्तु/संसाधन का जीवनकाल समाप्त होने पर यह फ़ंक्शन कॉल किया जाता है। इसका उपयोग स्मृति को मुक्त करने के लिए किया जा सकता है। इसलिए जब आप एक ऐसी वस्तु बनाते हैं जिसकी अपनी वस्तुएँ होती हैं, और मुख्य वस्तु गुंजाइश से बाहर हो जाती है, तो यह उसके बच्चे की वस्तुओं की स्मृति को भी मुक्त कर देती है।
इन चरों को स्वचालित चर कहा जाता है और इस प्रकार की मेमोरी स्वचालित भंडारण का उपयोग करती है। आपको इसका उपयोग करना चाहिए क्योंकि यह टाइप करने में तेज़ है, दौड़ते समय तेज़ और मेमोरी/संसाधन लीक होने की संभावना कम है।