Dynamischer Speicher



  • Hallo liebes Forum!
    Es geht um dynamischen Speicher in C++:
    Ich verstehe ja, dass man ein Array dynamisc erzeugt, damit man während der Laufzeit die Größe des Arrays bestimmen kann. (Also zum Beispiel muss beim Programmdurchlauf eine Eingabe gemacht werden, die die Größe des Arrays festlegt. Und nun wird ein dynamisches Array erzeugt)
    Aber wozu braucht man denn sonst dynamische Objekte, die keine Arrays sind?
    Liebe Grüße



  • Man kann den Punkt des Löschens selbst bestimmten (auch außerhalb von Scope-grenzen), man kann große Objekte einfach weitergeben (z.B. bei return), indem man nur den (smart-)pointer weitergibt und man kann Polymorphie effektiv nutzen.

    Nach meiner Erfahrung ist dynamischer Speicher später so verlockend, dass man dazu neigt, ihn zu viel zu nutzen.



  • Wenn die Größe des Objekts erst zur Laufzeit bestimmt wird (Polymorphie) (und man mehrere solcher Objekte hintereinander speichern will, bzw. Pointer auf diese), wenn ein Objekt zu groß für den Stack ist (das ist quasi nur bei Arrays der Fall), wenn man "besondere" Datenstrukturen haben möchte (z.B. eine Liste), etc., aber wenn diese Fälle bei dir nicht all zu oft vorkommen machst du vermutlich alles richtig. Viele Programmierer neigen dazu mehr auf den Heap zu stecken als eigentlich nötig wäre. 😉



  • 🙂


Log in to reply