Sobes.tech
Middle

Quali sono i due tipi di operatore delete in C++?

sobes.tech AI

Risposta dell'AI

  1. Operatore delete normale: viene usato per liberare la memoria allocata per un singolo oggetto tramite l'operatore new.
  2. Operatore delete[]: viene usato per liberare la memoria allocata per un array di oggetti tramite l'operatore new[]. Quando si usa delete[], 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;