delete[]
क्यों है? मेरी समझ से यह सरणी के लिए अलग तरीके से व्यवहार करने के लिए। हालांकि, यह वास्तव में क्यों मौजूद है? सी में केवल मुफ्त है और कोई फ्री_एरे नहीं है। सिंटैक्स में delete var
और delete []var
के बीच केवल अंतर []
है जिसमें कोई पैराम नहीं है (मैं सरणी की लंबाई नहीं बता रहा हूं)।सी ++ में एक डिलीट [] क्यों है?
तो delete[]
वास्तव में क्यों मौजूद है? मुझे पता है कि कोई कहेंगे कि आप delete
और delete[]
(कम से कम मुझे लगता है कि यह संभव है) अधिभारित कर सकते हैं लेकिन कहें कि हम इसे अधिभारित नहीं कर रहे हैं। यह क्यों अस्तित्व में है?
obviuos हटाने के कारण [] होने के कारण यह सरणी तत्वों के लिए विनाशकों को कॉल करेगा। Http://stackoverflow.com/questions/659270/why-is-there-a-special-new-and-delete-for-arrays –
शायद एक और दिलचस्प सवाल यह होगा कि 'हटाएं [] '(और' नया [] ') मौजूद है जब आपके पास' std :: vector' है। – jamesdlin
@jamesdlin: क्योंकि हमारे पास हमेशा 'std :: vector' नहीं था? और क्योंकि 'std :: vector' उनके बिना काम नहीं करेगा? –