🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #594

Re: Nutzen von 'new' ?

#594
From: Karl-Heinz Krause
Date: Mon, 16 Oct 1995 19:37
43 lines
1934 bytes
Am 15. Okt 1995 schrieb Kaspar Landsberg (kl@kl.in-berlin.de):

> Moin alle,

> ich verstehe nicht ganz die Benutzung und den Nutzen von "new". Ohne new  
> wird z.B. Speicher fuer ein Array beim Kompilieren bereitgestellt; mit new  
> erst beim Ausfuehren des Programms. Was heisst das? Wie kann denn fuer  
> etwas schon bei der Kompilation Speicher bereitgestellt werden?? Ein  
> Programm verbraucht doch erst Speicher, wenn es ausgefuehrt wird... oder  
> nicht?

> Wo ist also der Vorteil von 'new' ?

Wird ein Feld als globale Variable definiert, so ist im erzeugten
EXE-File Platz für dieses Feld enthalten. Sobald das EXE-File geladen
wird (bei Programmstart), wird Speicher für das Feld belegt. Das ist mit
der Aussage "Speicher wird beim Kompilieren reserviert" gemeint.

Es gibt viele Vorteile von 'new'. Bei einem Feld, das als globale
Variable definiert ist, muß die Länge direkt im Programmtext stehen, sie
muß also zur Übersetzungszeit bekannt sein. Mit 'new' geht auch
folgendes:

	int l;
	cin >> l;
	int *feld = new int(l);

Die Länge wird also erst zur Laufzeit in Abhängigkeit von
Laufzeitbedingungen festgelegt.

Auch folgendes ist möglich:

	int *feld = 0;
	if (Bedingung) {
	   feld = new int(laenge);
	   ...
	}

Hier wird das Feld nur unter bestimmten Bedingungen benötigt und nur in
diesem Fall wird auch Speicher dafür reserviert.


Karl-Heinz Krause
Technical Details
Message-ID: <45uc8s$aiu@news00.btx.dtag.de>
Path: arc1-ca.pugleaf.net!news00.btx.dtag.de!not-for-mail
References: <5vtCiAjKhjB@kl.in-berlin.de>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!news00.btx.dtag.de!not-for-mail
From: Krause@btx.dtag.de (Karl-Heinz Krause)
Newsgroups: de.comp.lang.c++
Subject: Re: Nutzen von 'new' ?
Date: 16 Oct 1995 19:37:00 GMT
Organization: Telekom Online Internet Gateway
Message-ID: <45uc8s$aiu@news00.btx.dtag.de>
References: <5vtCiAjKhjB@kl.in-berlin.de>
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Sender: 0913148778-0001@btx.dtag.de (Karl-Heinz Krause)
X-Newsreader: Forte Free Agent 1.0.82