<?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[Schleife - neues Objekt - Destruktor ?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich erzeuge in einer Schleife jeweils immer das gleiche Objekt und beschreibe es und gebe es weiter. Im neue Schleifendurchlauf passiert wieder das gleiche, nun die Frage muss ich das alte Objekt freigeben oder nicht also per Destruktor? Weil ich rufe jedes mal einen Konstruktor aufs gleiche Objekt jede Runde auf:</p>
<pre><code>while(true)
{
classname objekt(aq.image());
objektotherclass.pass(objekt);
}
</code></pre>
<p>sowas halt.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/325295/schleife-neues-objekt-destruktor</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Jul 2026 03:29:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/325295.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 24 Apr 2014 14:48:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Schleife - neues Objekt - Destruktor ? on Thu, 24 Apr 2014 14:48:18 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich erzeuge in einer Schleife jeweils immer das gleiche Objekt und beschreibe es und gebe es weiter. Im neue Schleifendurchlauf passiert wieder das gleiche, nun die Frage muss ich das alte Objekt freigeben oder nicht also per Destruktor? Weil ich rufe jedes mal einen Konstruktor aufs gleiche Objekt jede Runde auf:</p>
<pre><code>while(true)
{
classname objekt(aq.image());
objektotherclass.pass(objekt);
}
</code></pre>
<p>sowas halt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2396137</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2396137</guid><dc:creator><![CDATA[asdfawf]]></dc:creator><pubDate>Thu, 24 Apr 2014 14:48:18 GMT</pubDate></item><item><title><![CDATA[Reply to Schleife - neues Objekt - Destruktor ? on Thu, 24 Apr 2014 19:21:35 GMT]]></title><description><![CDATA[<p>Also frei geben oder den Destructor aufrufen musst du nicht, da das/die Objekte ja auf dem Stack erzeugt werden. Aber ich würde jetzt mal behaupten dass das was du hier hin geschrieben hast in deiner while noch nie wirklich hast live ausprobiert, denn dann würdest du schon gemerkt haben das deine Klasse objektotherclass kein Objekt mehr hat wenn die while schleife in die nächste Runde geht, denn dein objekt ist nur im Scope des aktuellen while durchlauf existent, danach wird das objekt automatisch wieder zerstört.</p>
<p>Also ich geh mal davon aus das es sicher nicht das ist was du willst, entweder du beschriebst etwas genauer was du vor hast oder du suchst dir einen anderen Weg oder vielleicht sagt dir hier jemand anderes noch was für dich besseres</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2396176</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2396176</guid><dc:creator><![CDATA[CTecS]]></dc:creator><pubDate>Thu, 24 Apr 2014 19:21:35 GMT</pubDate></item><item><title><![CDATA[Reply to Schleife - neues Objekt - Destruktor ? on Fri, 25 Apr 2014 08:49:19 GMT]]></title><description><![CDATA[<p>Das Programm stört es nicht und es funktioniert auch wollte nur sehen wo ich evtl. einen Fehler gemacht habe.<br />
Es wird intern nochmal ein Objekt erzeugt und die Daten übergeben und dann weitergeschickt.</p>
<p>Was mich aber interessiert ist wann das Objekt genau zerstört wird?</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2396212</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2396212</guid><dc:creator><![CDATA[asdfwaf]]></dc:creator><pubDate>Fri, 25 Apr 2014 08:49:19 GMT</pubDate></item><item><title><![CDATA[Reply to Schleife - neues Objekt - Destruktor ? on Fri, 25 Apr 2014 09:45:24 GMT]]></title><description><![CDATA[<p>Dazu kannst du einfach im Konstruktor und Destruktor der jeweiligen Klasse eine Ausgabe auf die Konsole machen - so siehst du wann ein Objekt der Klasse zerstört wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2396220</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2396220</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Fri, 25 Apr 2014 09:45:24 GMT</pubDate></item><item><title><![CDATA[Reply to Schleife - neues Objekt - Destruktor ? on Fri, 25 Apr 2014 10:32:11 GMT]]></title><description><![CDATA[<p>Danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<p>Werden eigentlich die Objekte immer nach dem aktuellen scope zerstört, auch dynamische?</p>
<pre><code>do
{
testclass objekt = new testclass(init);
}while(false);

//Hier gibts kein Objekt mehr?  :open_mouth:
</code></pre>
<p>Danke Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2396229</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2396229</guid><dc:creator><![CDATA[asdfwaf]]></dc:creator><pubDate>Fri, 25 Apr 2014 10:32:11 GMT</pubDate></item><item><title><![CDATA[Reply to Schleife - neues Objekt - Destruktor ? on Fri, 25 Apr 2014 12:53:45 GMT]]></title><description><![CDATA[<p>asdfwaf schrieb:</p>
<blockquote>
<p>Danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<p>Werden eigentlich die Objekte immer nach dem aktuellen scope zerstört, auch dynamische?</p>
<pre><code>do
{
testclass objekt = new testclass(init);
}while(false);

//Hier gibts kein Objekt mehr?  :open_mouth:
</code></pre>
<p>Danke Gruß</p>
</blockquote>
<p>1. Kompiliert das? <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="🙄"
    /><br />
2. Antwort auf deine Frage: Nein, Objekte die auf dem Freestore angelegt wurde (mit <code>new</code> ) werden erst dann zerstört, wenn <code>delete</code> auf einen Zeiger, der auf dieses Objekt zeigt, aufgerufen wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2396262</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2396262</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Fri, 25 Apr 2014 12:53:45 GMT</pubDate></item><item><title><![CDATA[Reply to Schleife - neues Objekt - Destruktor ? on Sat, 26 Apr 2014 07:39:42 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/u100590" rel="nofollow">Martin Richter</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/f1" rel="nofollow">MFC (Visual C++)</a> in das Forum <a href="http://www.c-plusplus.net/forum/f15" rel="nofollow">C++ (auch C++0x und C++11)</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/39405" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2396379</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2396379</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Sat, 26 Apr 2014 07:39:42 GMT</pubDate></item><item><title><![CDATA[Reply to Schleife - neues Objekt - Destruktor ? on Sat, 26 Apr 2014 15:35:25 GMT]]></title><description><![CDATA[<p>theta schrieb:</p>
<blockquote>
<p>2. Antwort auf deine Frage: Nein, Objekte die auf dem Freestore angelegt wurde (mit <code>new</code> ) werden erst dann zerstört, wenn <code>delete</code> auf einen Zeiger, der auf dieses Objekt zeigt, aufgerufen wird.</p>
</blockquote>
<p>Weiterführender Gedanke, gerichtet an den Fragesteller: Deswegen verwaltet man dynamischen Speicher (und allgemein alles, was einer Freigabe bedarf) auch nicht händisch mit Zeigern, sondern schreibt sich eine Klasse, die auf diesen Speicher zeigt und in deren Destruktor dann der Speicher wieder frei gegeben wird. Dann legt man ein Objekt dieser Halterklasse an. Dieses wird beim Verlassen des Scopes automatisch zerstört (selbst wenn man den Scope mittels einer Exception oder gar mit einem goto verlässt) und man kann daher gar keine Fehler mehr bei der Speicherverwaltung machen.<br />
Wenn du das irgendwo im großen Stil anders siehst (außer als Demonstration, wie es nicht geht) oder dir das gar jemand anders beibringt, darfst du die C++-Kompetenz der Person anzweifeln.</p>
<p>Stichwort dazu ist &quot;RAII&quot;. Da man das ständig braucht, gibt es solche Halterklassen schon haufenweise in der Standardbibliothek. Nennt man Smartpointer und Container.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2396447</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2396447</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sat, 26 Apr 2014 15:35:25 GMT</pubDate></item></channel></rss>