Middle
Quali sono i due tipi di operatore delete in C++?
sobes.tech AI
Risposta dell'AI
- Operatore
deletenormale: viene usato per liberare la memoria allocata per un singolo oggetto tramite l'operatorenew. - Operatore
delete[]: viene usato per liberare la memoria allocata per un array di oggetti tramite l'operatorenew[]. Quando si usadelete[], vengono chiamati i distruttori di tutti gli elementi dell'array in ordine inverso alla loro creazione.
L'uso del tipo sbagliato di operatore delete (ad esempio, delete per un array o delete[] per un singolo oggetto) porta a un comportamento indefinito.
Esempio:
// Operatore delete normale
int* oggetto_unico = new int(10);
// ... utilizzo di oggetto_unico
delete oggetto_unico;
// Operatore delete[] per array
int* array_di_oggetti = new int[5];
// ... utilizzo di array_di_oggetti
delete[] array_di_oggetti;