delete ptr
केवल operator delete(ptr)
से भिन्न है, delete
ptr
विनाशक कहता है? या दूसरे शब्दों में, delete ptr
पहले आवंटित स्मृति मुक्त करने के लिए ptr
और फिर operator delete(ptr)
का विनाशक कहता है? फिर delete ptr
तकनीकी रूप से निम्नलिखित के बराबर है:हटाएं बनाम ऑपरेटर हटाएं (और शून्य पॉइंटर)
T * ptr = new T;
//delete ptr equivalent:
ptr->~T();
::operator delete(static_cast<void *>(ptr));
?
हां, यह एकमात्र अंतर है, इस तथ्य के अलावा कि आप 'ऑपरेटर डिलीट' ओवरलोड कर सकते हैं। –