Objekte - statisch oder dynamisch

Hallo Wissende,

ich kann in C++ Objekte statisch oder dynamisch anlegen - soweit klar.
Wann ist aber was besser oder notwendig?
In dem Buch hier steht dazu nichts drin oder ist das reine „Geschmackssache“?

Danke, Thomas

ich kann in C++ Objekte statisch oder dynamisch anlegen -
soweit klar.
Wann ist aber was besser oder notwendig?
In dem Buch hier steht dazu nichts drin oder ist das reine
„Geschmackssache“?

Statische Objekte nimmt man gern, wenn vorher schon bekannt ist, wieviele man braucht. Dynamische Objekte sind einfach dynamischer, weil man sie erzeugen und wieder entfernen kann. Sie werden daher gern genommen, wenn die Anzahl der Objekte oder deren Größe zur Designzeit nicht bekannt ist.

Außerdem werden die Objekt in unterschiedlichen Speicherbereichen abgelegt. Statische landen im Stack-Speicher, Dynamische im Heap. Bei den dynamischen musst Du immer selbst dafür sorgen, sie zu entsorgen, wenn Sie nicht mehr gebraucht werden. Andernfalls verschwendest Du Speicher, der dann knapp wird, wenn die Anwendung sehr lange läuft. Statische Objekte werden automatisch aus dem Speicher geräumt, wenn Du die Funktion verläßt, in der sie deklariert wurden.

Gruß
Marian

Hallo Thomas,

ich kann in C++ Objekte statisch oder dynamisch anlegen -
soweit klar.
Wann ist aber was besser oder notwendig?
In dem Buch hier steht dazu nichts drin oder ist das reine
„Geschmackssache“?

Statische Objekte sind zudem meist einen Hauch schneller als dynamische, da der Compiler alle Informationen über die verwendung hat und deshalb mehr Imformationen für die Optimierung vorhanden sind und deren Verwaltung etwas einfacher ist.

MfG Peter(TOO)