Sobes.tech
Middle

Welche zwei Arten von delete-Operatoren gibt es in C++?

sobes.tech KI

Antwort von AI

  1. Gewöhnlicher delete-Operator: Wird verwendet, um den Speicher freizugeben, der für ein einzelnes Objekt mit dem new-Operator reserviert wurde.
  2. delete[]-Operator: Wird verwendet, um den Speicher freizugeben, der für ein Array von Objekten mit dem new[]-Operator reserviert wurde. Beim Einsatz von delete[] werden die Destruktoren aller Elemente des Arrays in umgekehrter Reihenfolge ihrer Erstellung aufgerufen.

Die Verwendung des falschen delete-Operators (z.B. delete für ein Array oder delete[] für ein einzelnes Objekt) führt zu undefiniertem Verhalten.

Beispiel:

// Gewöhnlicher delete-Operator
int* einzelnes_objekt = new int(10);
// ... Verwendung von einzelnes_objekt
delete einzelnes_objekt;

// delete[] für Array
int* array_von_objekten = new int[5];
// ... Verwendung von array_von_objekten
delete[] array_von_objekten;