Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Anonymous

unregistriert

1

03.09.2003, 18:10

Anzahl der Objekte in dynamischen Arrays

Woher wissen delete[] und sizeof() wieviele Elemente ein dynamisches Array hat?

2

03.09.2003, 19:42

anhand von new, new Elemente[anzahl] = größe von Elemente * Anzahl = Size :D

3

04.09.2003, 01:53

Das ist ganz einfach. Die Anzahl der Elemente wird mit gespeichert und die größe des gesamtespeichers wird natürlich im Speichermanager festgehalten.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

Jumping Jack

Treue Seele

Beiträge: 142

Wohnort: Hamburg

Beruf: Schüler

  • Private Nachricht senden

4

04.09.2003, 14:50

sizeof weis nicht wie groß ein dynamisches array ist.
sizeof weis nur wie groß ein statisches array ist.

wie das bei delete ist weis ich nicht genau.
jedenfalls wird die größe eines reservierten Speicherblocks auf dem heap mit gespeichert.

Anonymous

unregistriert

5

04.09.2003, 15:12

1) Meines Wissens weiß sizeof (Type) auch die Größe des gesamten dynamischen Arrays bei entsprechendem Einsatz

2) Wo wird denn die Anzahl der Elemente eines Arrays gespeichert?

Jumping Jack

Treue Seele

Beiträge: 142

Wohnort: Hamburg

Beruf: Schüler

  • Private Nachricht senden

6

04.09.2003, 15:28

1) welche art von einsatz denn?

2) nirgendwo, muss man selber machen oder bei nem statischen array über sizeof berechnen

Anonymous

unregistriert

7

04.09.2003, 18:45

1) sizeof (Pointer)

2) Irgendwo muss es ja gespeichert sein, sonnst wüsste delete es ja auch nicht!!!!!

8

04.09.2003, 20:11

delete[] muss wissen wieviele Elemente das Array hat. Wie sonst soll es denn die Destruktoren für alle Elemente im Array aufrufen?

Wo die Anzahl der Elemente gespeichert wird, ist glaub ich vom Compiler abhängig.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

Anonymous

unregistriert

9

04.09.2003, 22:19

Aber da delete[] Standart und damit systemunabhängig ist, muss es ja auch irgendwo festgelegt sein, wo die Anzahl der Elemente gespeichert ist.

10

04.09.2003, 22:24

Das was delete[] macht ist natürlich festgelegt. Aber nicht wie das erreicht wird. Schließlich ist das Systemabhängig. Die Speichermanager von Windows, Linux oder MacOS sind ja nicht alle gleich. Daher kann die Implementierung nicht festgelegt sein.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

Werbeanzeige