Speicherverwaltung bei der Zuweisung von 2-D-Arrays

Ich habe ein zweidimensionales Array mit dem folgenden Code zugewiesen:

// Dynamic allocation
        int **matrix=new int*[n];
        for(int i=0;i<n;i++)
        {
            matrix[i]=new int[n];
        }

Dies funktioniert gut.

Zunächst weisen wir ein Array von Integer-Zeigern zu. Dann ordnen wir jeden der früheren Zeiger weiter zu, um auf einen Speicherort von @ zu zeigen ganze Zahlen. Dies erzeugt unser zweidimensionales Array.

Ich weiß, dass ein Destruktor für ein dynamisch zugewiesenes Array wie folgt aussehen sollte:

~SquareMatrix()
{
delete [] OneDarray;
}

Die Betonung liegt auf[] denn wenn es nicht geschrieben wird, wird nur das erste Element des Arrays gelöscht.

Aus ähnlichen Gründen muss ich wohl das @ platzier[] zweimal, um das gesamte zweidimensionale Array zu löschen, z. B.

delete [] [] matrix;

Aber dies funktioniert nicht und gibt einen Kompilierungsfehler aus.

Was ist die richtige Vorgehensweise?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage