Matrix-Struktur linearisieren mit dynamischen Speicher/Zeigern in C++ ?

matrix - (Computer, PC, Mathematik)

1 Antwort

In Zeile 9 wird ein double** Array auf dem Heap erstellt. Die Einträge dieses Arrays sind double* also Zeiger auf double. Das heißt double** matrix, ist ein Zeiger auf das erste Element eines Arrays in dem weitere Zeiger auf double-Arrays (oder wahlweise einzelne doubles) stehen.

In Zeile 10 wird dann Speicher reserviert und im Zeiger matrix[0] vermerkt, matrix[0] zeigt auf den Index 0 dieses neuen Objekts A. Hier wird der gesamte Speicher für die zu erstellende Matrix reserviert.

Zeile 13 definiert jetzt, dass matrix[1], matrix[2] etc. auf dasselbe Object A zeigen, nur entspricht z.B. der Eintrag matrix[2][3] dem Eintrag matrix[0][3+2*spalten].

Damit werden dann in Zeile 16 die Einträge eingefüllt.


RealAutism 
Beitragsersteller
 07.03.2017, 15:15

ok soweit so gut aber wieso löscht man am ende zwei objekte du sprichst ja selbst nur von einem objekt A? und das mit dem zeiger auf ein array von zeigern ist so schwer vorstellbar mMn. findet soetwas nur verwendung bei matrizen?

0
RealAutism 
Beitragsersteller
 07.03.2017, 15:21
@RealAutism

nvm hat sich erledigt mit dem löschen hab mir nochmal die syntax angeschaut ^^

0