Array von Objekten an Funktion übergeben
-
Viele Dank für die schnelle Antwort. Dann wird es jetzt wohl Zeit, dass ich mich mit dynamischen Arrays und Pointern auf Pointer beschäftige... Wusste ich doch, dass ich mich nicht ewig drücken kann

-
Pointer sind gar nich so schlimm.. wenn man mal ein bischen ein Gefühl dafür hat .... machtrs sogar spass mit Pointer zu hantieren:)
und Array löschen mit "delete" nich vergessen.. was bei dem code oben nich implemnteioret ist.
-
Wenn du diese Variante gut findest, solltest du auch vector< vector< int > > in betracht ziehen. Richtig schön ist das ebenfalls nicht, aber besser als das Hantieren mit Arrays allemal. Besser ist ein echtes mehrdimensionales Array, wie etwas Boosts MultiArray - damit ist dann u.a. ein einfaches Iterieren über den gesamten Container möglich, so dass dann alle Operationen als normale Algorithmen auf Sequenzen formuliert lassen.
-
Stimmt, das mit den Pointern hat gar nicht weh getan. Und das Programm kompiliert fehlerfrei (bis jetzt...)
Lösche ich den Array dann einfach mit delete ppArray ? oder muss ich jedes Element einzeln löschen?
-
Faustregel: Zu jedem new ein delete.
Wenn also inkl. Schleife dort 21x mit new Objekte angefordert werden müssen hinterher auch 21 Objekte mit delete gelöscht werden.
-
Kerstin81 schrieb:
Stimmt, das mit den Pointern hat gar nicht weh getan. Und das Programm kompiliert fehlerfrei (bis jetzt...)
Lösche ich den Array dann einfach mit delete ppArray ? oder muss ich jedes Element einzeln löschen?Zu jedem new gehört ein delete.
-
for(int i=0; i< SIZE; i++) delete[] ppArray[i]; delete[] ppArray;
-
Synchronpunkt für LordJaxom und camper

Und ein Extrapunkt für BorisDieKlinge fürs Erraten meiner nächsten Frage
Wofür brauche ich die eckigen Klammern?
-
Du hast die Teilarrays per new**[]** angelegt, also mußt du sie auch mit delete[] wieder freigeben.
-
Ah, ok!
Wieder was gelernt
Vielen Dank für die Hilfe!Kerstin