<?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[Frage zu Delete]]></title><description><![CDATA[<p>Hi zusammen,</p>
<p>wenn ich folgenden Quelltext habe</p>
<pre><code class="language-cpp">Testklasse* test [100] = {};
</code></pre>
<p>anschließend werden z.B. 50 Objekte angelegt.</p>
<p>Beim Verlassen des Programms sollte ja der Destruktor aufgerufen werden.</p>
<p>Wie geht das denn jetz?</p>
<p>reicht es einfach wen ich angebe:</p>
<pre><code class="language-cpp">delete[] test
</code></pre>
<p>oder muss ich hier jedes Objekt selbst in einer for - Schleife &quot;deleten&quot;?</p>
<p>Macht es einen vom Löschen her einen Unterschied, ob ich bei der Deklaration</p>
<pre><code class="language-cpp">Testklasse* test [100] = {};
</code></pre>
<p>oder</p>
<pre><code class="language-cpp">Testklasse* test [100];
</code></pre>
<p>schreibe?</p>
<p>Vele Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/285562/frage-zu-delete</link><generator>RSS for Node</generator><lastBuildDate>Fri, 21 Aug 2026 06:53:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/285562.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 23 Apr 2011 08:03:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu Delete on Sat, 23 Apr 2011 08:03:50 GMT]]></title><description><![CDATA[<p>Hi zusammen,</p>
<p>wenn ich folgenden Quelltext habe</p>
<pre><code class="language-cpp">Testklasse* test [100] = {};
</code></pre>
<p>anschließend werden z.B. 50 Objekte angelegt.</p>
<p>Beim Verlassen des Programms sollte ja der Destruktor aufgerufen werden.</p>
<p>Wie geht das denn jetz?</p>
<p>reicht es einfach wen ich angebe:</p>
<pre><code class="language-cpp">delete[] test
</code></pre>
<p>oder muss ich hier jedes Objekt selbst in einer for - Schleife &quot;deleten&quot;?</p>
<p>Macht es einen vom Löschen her einen Unterschied, ob ich bei der Deklaration</p>
<pre><code class="language-cpp">Testklasse* test [100] = {};
</code></pre>
<p>oder</p>
<pre><code class="language-cpp">Testklasse* test [100];
</code></pre>
<p>schreibe?</p>
<p>Vele Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2053154</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2053154</guid><dc:creator><![CDATA[Tom38]]></dc:creator><pubDate>Sat, 23 Apr 2011 08:03:50 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Delete on Sat, 23 Apr 2011 08:11:22 GMT]]></title><description><![CDATA[<p>Du musst dann ein delete aufrufen, wenn du auch ein new aufgerufen hast. D.h. für dein Array darfst du kein delete verwenden. Wenn die einzelnen Arrayelemente mit new angelegt worden sind, musst du für jedes einzelne auch ein delete ausführen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2053157</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2053157</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Sat, 23 Apr 2011 08:11:22 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Delete on Sat, 23 Apr 2011 08:18:27 GMT]]></title><description><![CDATA[<p>Tom38 schrieb:</p>
<blockquote>
<p>Hi zusammen,</p>
<p>wenn ich folgenden Quelltext habe</p>
<pre><code class="language-cpp">Testklasse* test [100] = {};
</code></pre>
<p>anschließend werden z.B. 50 Objekte angelegt.</p>
<p>Beim Verlassen des Programms sollte ja der Destruktor aufgerufen werden.</p>
<p>Wie geht das denn jetz?</p>
<p>reicht es einfach wen ich angebe:</p>
<pre><code class="language-cpp">delete[] test
</code></pre>
<p>oder muss ich hier jedes Objekt selbst in einer for - Schleife &quot;deleten&quot;?</p>
</blockquote>
<p>jedes Element einzeln - das Array test liegt auf dem Stack oder im globalen DAtensegment, damit wird die Speicherverwaltung nicht viel anfangen können.</p>
<blockquote>
<p>Macht es einen vom Löschen her einen Unterschied, ob ich bei der Deklaration</p>
<pre><code class="language-cpp">Testklasse* test [100] = {};
</code></pre>
<p>oder</p>
<pre><code class="language-cpp">Testklasse* test [100];
</code></pre>
<p>schreibe?</p>
</blockquote>
<p>Ja, bei ersterem kannst du leichter erkennen, welche Elemente du löschen mußt. Wenn du ein Array mit Initialisierungsliste anlegst, werden die nicht genannten Elemente mit Null-Werten aufgefüllt, so daß du am Ende recht leicht prüfen kannst, welche Elemente tatsächlich genutzt wurden (wenn du ordentlich gearbeitet hast, alle in denen nicht NULL steht). Ohne Initialisierungsliste wird das Array nicht initialisiert und enthält Datenmüll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2053163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2053163</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sat, 23 Apr 2011 08:18:27 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Delete on Sat, 23 Apr 2011 15:40:14 GMT]]></title><description><![CDATA[<p>Ist zwar in Ordnung falls das nur zur Übung dient, aber normalerweise sollte in solchen Situationen ptr_vector verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2053305</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2053305</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Sat, 23 Apr 2011 15:40:14 GMT</pubDate></item></channel></rss>