Article View: de.comp.lang.c++
Article #613Re: Nutzen von 'new' ?
From: Siegfried Langbein
Date: Mon, 16 Oct 1995 17:39
Date: Mon, 16 Oct 1995 17:39
42 lines
2615 bytes
2615 bytes
am 15.10.95 toastete Kaspar Landsberg unter anderem in die de.comp.lang.c++.... Hi all, Hi Kaspar, k> ich verstehe nicht ganz die Benutzung und den Nutzen von "new". Ohne new k> wird z.B. Speicher fuer ein Array beim Kompilieren bereitgestellt; mit new k> erst beim Ausfuehren des Programms. Was heisst das? Wie kann denn fuer k> etwas schon bei der Kompilation Speicher bereitgestellt werden?? Ein k> Programm verbraucht doch erst Speicher, wenn es ausgefuehrt wird... oder k> nicht? k> Wo ist also der Vorteil von 'new' ? Ich bin zwar kein Profi, aber wenn du programmieren willst, solltest du den Unterschied schon verstehen, Speicherverwaltung ist so grundlegend wie Ein/Ausgabefunctionen. Speicher zur Compilezeit anfordern, heißt für Global Variable, der Compiler erzeugt ein Datensegment, indem der Speicherplatz für die Variablen bereitgestellt wird; bei DOS/Win Programmen sind die dann Teil der .Exe und mit Nullen gefüllt, kann man gut im HexEditor sehen und deswegen werden ExeFiles auch so gut durch PKZip etc. komprimiert. Bei lokalen Variablen wird zur Laufzeit der Platz auf dem Stack erzeugt. Beide Methoden sind begrenzt und man muss sich zur Compilzeit festlegen . Bei new wird der Speicherplatz während der Laufzeit dynamisch vom System angefordert, welches unter umständen auf Gigabytes von Mem zurückgreifen kann und man ist nicht festgelegt - man kann zum Beispiel Speicher anfordern wenn eine Bedingung erfüllt ist und es lassen, wenn die Bedingung nicht erfüllt ist Zum Bleistift kann man in einer for Schleife Schauen ob es Dateien gibt, die eine bestimmte Bedingung erfüllen, als Ergebnis können es meinetwegen 0 bis 10000 Dateien sein, weiss man vorher nicht. Mit new kann man für jede gefundene Datei Speicher anfordern und den Namen reinschreiben zwecks weiteren Verwendung. Das nennt man dynamische Speicherverwaltung, hat natürlich mehr Denk und Schreibaufwand, den sollte man ja auch wieder freigeben etc. Tschaui... -- Ach ja, ich bin noch auf der Suche nach SourceCode für einen möglichst -- intelligenten, künstlichen Gesprächspartner; einfach aus Neugierde ! -- -- Maus Goettingen * _@Goe_
Technical Details
Message-ID:
<199510161939.a10202@goe.maus.de>Path:
arc1-ca.pugleaf.net!gOe.maus.de!Siegfried_LangbeinReferences:
<5vtCiAjKhjB@kl.in-berlin.de>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!gOe.maus.de!Siegfried_Langbein From: Siegfried_Langbein@gOe.maus.de (Siegfried Langbein) Newsgroups: de.comp.lang.c++ Subject: Re: Nutzen von 'new' ? Message-ID: <199510161939.a10202@goe.maus.de> Date: Mon, 16 Oct 95 17:39:00 GMT References: <5vtCiAjKhjB@kl.in-berlin.de> X-Gate: MausGate/News 1.25/mausgoe MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit