<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[2 Fragen zu new und delete]]></title><description><![CDATA[<p>1. Frage:<br />
Wenn ich eine klasse &quot;was_weiß_ich&quot; erstelle und dynamisch ein Array dieser Klasse anlege.</p>
<pre><code class="language-cpp">was_weiß_ich *t = new was_weiß_ich(1000);
</code></pre>
<p>Ruft man delete dann so auf?</p>
<pre><code class="language-cpp">delete [1000] t;
</code></pre>
<p>Ist das richtig?<br />
(Es fehlt doch irgendwie die Information für den Compiler, wie groß eigentlich ein element der Klasse &quot;was_weiß_ich&quot; ist, oder nicht?)</p>
<p>2. Frage:<br />
Ist folgendes rekursive Programm in Ordnung oder wird irgendwelcher Speicher nicht freigegeben?</p>
<pre><code class="language-cpp">#include &lt;iostream.h&gt;

class rekursionstest {

public:	static long* rek(long *Wert) {

			if (*Wert&gt;1) {
				*Wert=*Wert-1;

				long *t = new long(*Wert);
				rek(t);

				delete(Wert);

				return t;

			}
			return Wert;

		}
};

int main(void) {

	long *wert= new long(1000); 
	rekursionstest::rek(wert);
	return 1;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/121617/2-fragen-zu-new-und-delete</link><generator>RSS for Node</generator><lastBuildDate>Sat, 22 Aug 2026 19:22:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/121617.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 25 Sep 2005 20:02:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to 2 Fragen zu new und delete on Sun, 25 Sep 2005 20:02:13 GMT]]></title><description><![CDATA[<p>1. Frage:<br />
Wenn ich eine klasse &quot;was_weiß_ich&quot; erstelle und dynamisch ein Array dieser Klasse anlege.</p>
<pre><code class="language-cpp">was_weiß_ich *t = new was_weiß_ich(1000);
</code></pre>
<p>Ruft man delete dann so auf?</p>
<pre><code class="language-cpp">delete [1000] t;
</code></pre>
<p>Ist das richtig?<br />
(Es fehlt doch irgendwie die Information für den Compiler, wie groß eigentlich ein element der Klasse &quot;was_weiß_ich&quot; ist, oder nicht?)</p>
<p>2. Frage:<br />
Ist folgendes rekursive Programm in Ordnung oder wird irgendwelcher Speicher nicht freigegeben?</p>
<pre><code class="language-cpp">#include &lt;iostream.h&gt;

class rekursionstest {

public:	static long* rek(long *Wert) {

			if (*Wert&gt;1) {
				*Wert=*Wert-1;

				long *t = new long(*Wert);
				rek(t);

				delete(Wert);

				return t;

			}
			return Wert;

		}
};

int main(void) {

	long *wert= new long(1000); 
	rekursionstest::rek(wert);
	return 1;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/880005</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/880005</guid><dc:creator><![CDATA[MisterX]]></dc:creator><pubDate>Sun, 25 Sep 2005 20:02:13 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Fragen zu new und delete on Sun, 25 Sep 2005 20:05:45 GMT]]></title><description><![CDATA[<p>Zu 1.:</p>
<pre><code class="language-cpp">delete [] t;
</code></pre>
<p>Der Compile weiss, wieviel dort allociert wurde.</p>
<p>Zu 2: sieht auf den ersten Blick gut aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/880009</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/880009</guid><dc:creator><![CDATA[MBCS-CITP]]></dc:creator><pubDate>Sun, 25 Sep 2005 20:05:45 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Fragen zu new und delete on Sun, 25 Sep 2005 23:07:11 GMT]]></title><description><![CDATA[<p>MisterX schrieb:</p>
<blockquote>
<pre><code class="language-cpp">was_weiß_ich *t = new was_weiß_ich(1000);
</code></pre>
<p>Ruft man delete dann so auf?</p>
<pre><code class="language-cpp">delete [1000] t;
</code></pre>
<p>Ist das richtig?</p>
</blockquote>
<p>Ich hoffe die runden Klammern sind nur Schreibfehler. Für ein Array müssen es jedenfalls eckige Klammern sein.</p>
<p>MisterX schrieb:</p>
<blockquote>
<p>(Es fehlt doch irgendwie die Information für den Compiler, wie groß eigentlich ein element der Klasse &quot;was_weiß_ich&quot; ist, oder nicht?)</p>
</blockquote>
<p>Was heisst hier element der Klasse &quot;was_weiß_ich&quot;? Ich dachte, du willst ein Array erstellen, wo was_weiß_ich selbst der Elementtyp ist.</p>
<p>MisterX schrieb:</p>
<blockquote>
<p>Ist folgendes rekursive Programm in Ordnung</p>
</blockquote>
<p>Nur mal ein paar Kritikpunkte<br />
- iostream.h ist unnötig sowie veraltet<br />
- C++ bedeutet nicht, Funktionen in Klassen zu stecken<br />
- dein Speicherhandling ist fehlerhaft<br />
- es ist in C++ üblich, Funktionen ohne Parameter mit leeren Klammern zu schreiben, also ohne void</p>
]]></description><link>https://www.c-plusplus.net/forum/post/880073</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/880073</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Sun, 25 Sep 2005 23:07:11 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Fragen zu new und delete on Mon, 26 Sep 2005 05:12:47 GMT]]></title><description><![CDATA[<p>Müsste galub so hier stehen:</p>
<p>was_weiß_ich *t = new(was_weiß_ich[1000]); // --&gt; Besorgt Speicher für 1000 was_weiß_ich Elemente</p>
<p>delte[] was_weiß_ich; // Gibt den Speicher wieder Frei. Ist wichtig, wenn du mit großen Datenmengen Programmierst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/880118</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/880118</guid><dc:creator><![CDATA[Tc++H]]></dc:creator><pubDate>Mon, 26 Sep 2005 05:12:47 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Fragen zu new und delete on Mon, 26 Sep 2005 05:18:19 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">delete [1000] t;
</code></pre>
<p>gab es nur im uralten AT&amp;T 2.0 C++ Standard, als C++ noch keine Templates etc. hatte.</p>
<p>Seit AT&amp;T 3.0 reicht auch</p>
<pre><code class="language-cpp">delete [] t;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/880123</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/880123</guid><dc:creator><![CDATA[Power Off]]></dc:creator><pubDate>Mon, 26 Sep 2005 05:18:19 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Fragen zu new und delete on Mon, 26 Sep 2005 08:00:48 GMT]]></title><description><![CDATA[<p>Tc++H schrieb:</p>
<blockquote>
<p>Ist wichtig, wenn du mit großen Datenmengen Programmierst.</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/880193</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/880193</guid><dc:creator><![CDATA[shapeless]]></dc:creator><pubDate>Mon, 26 Sep 2005 08:00:48 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Fragen zu new und delete on Mon, 26 Sep 2005 09:28:03 GMT]]></title><description><![CDATA[<p>Tc++H schrieb:</p>
<blockquote>
<p>Müsste galub so hier stehen:</p>
<p>was_weiß_ich *t = new(was_weiß_ich[1000]); // --&gt; Besorgt Speicher für 1000 was_weiß_ich Elemente</p>
<p>delte[] was_weiß_ich; // Gibt den Speicher wieder Frei. Ist wichtig, wenn du mit großen Datenmengen Programmierst.</p>
</blockquote>
<p>Was hat das mit der Datenmenge zu tun. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/880255</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/880255</guid><dc:creator><![CDATA[Redhead]]></dc:creator><pubDate>Mon, 26 Sep 2005 09:28:03 GMT</pubDate></item><item><title><![CDATA[Reply to 2 Fragen zu new und delete on Mon, 26 Sep 2005 12:24:34 GMT]]></title><description><![CDATA[<p>dein programm enthält einen kleinen fehler:</p>
<p>soll wohl</p>
<pre><code class="language-cpp">t=rek(t);
</code></pre>
<p>anstelle von</p>
<pre><code class="language-cpp">rek(t);
</code></pre>
<p>heißen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/880386</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/880386</guid><dc:creator><![CDATA[Konfusius]]></dc:creator><pubDate>Mon, 26 Sep 2005 12:24:34 GMT</pubDate></item></channel></rss>