<?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[Garbage Collector]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>wenn ich in einer Methode bestimmten Variablen zunächst Werte zugewiesen habe, und ich in einer Stelle danach eine Ausnahmeausgabe habe, die die weitere Bearbeitung sinnlos macht: da C++ keinen Garbage Collector besitzt, wie verfahre ich mit den gesetzten Variablen?</p>
<p>Danke,</p>
<p>Tanja</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/316553/garbage-collector</link><generator>RSS for Node</generator><lastBuildDate>Wed, 29 Jul 2026 18:35:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/316553.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 08 May 2013 06:46:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Garbage Collector on Wed, 08 May 2013 06:46:58 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>wenn ich in einer Methode bestimmten Variablen zunächst Werte zugewiesen habe, und ich in einer Stelle danach eine Ausnahmeausgabe habe, die die weitere Bearbeitung sinnlos macht: da C++ keinen Garbage Collector besitzt, wie verfahre ich mit den gesetzten Variablen?</p>
<p>Danke,</p>
<p>Tanja</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2321853</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2321853</guid><dc:creator><![CDATA[tanja.hopfer]]></dc:creator><pubDate>Wed, 08 May 2013 06:46:58 GMT</pubDate></item><item><title><![CDATA[Reply to Garbage Collector on Wed, 08 May 2013 06:58:42 GMT]]></title><description><![CDATA[<p>tanja.hopfer schrieb:</p>
<blockquote>
<p>Hallo zusammen,</p>
<p>wenn ich in einer Methode bestimmten Variablen zunächst Werte zugewiesen habe, und ich in einer Stelle danach eine Ausnahmeausgabe habe, die die weitere Bearbeitung sinnlos macht: da C++ keinen Garbage Collector besitzt, wie verfahre ich mit den gesetzten Variablen?</p>
<p>Danke,</p>
<p>Tanja</p>
</blockquote>
<p>Ach nöö.</p>
<p>Wenn Du eine Zeitung gelesen hast, musst Du auch nicht danach alle Buchstaben durchstreichen, weil Du sie nicht mehr brauchst.</p>
<p>Aber sorge dafür, daß Du die Zeitung frühzeitig aus der Wohnung entfernst, um sie nicht zuzumüllen. Das reicht schon.</p>
<p>In C++: Benutze new selten. Und überhaupt nur, wenn Du ein delete dafür hast. Das war schon alles. Normale Variablen verschwinden bei Ende des Blocks in dem sie definiert wurden. Ganz von automatisch. Und das ist auch gut so, schnell so, orgendlich so und überhaupt.</p>
<p>Der garbage collector ist nur die Putzfrau für Daten-Messies, braucht keiner. Ist eher hinderlich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2321854</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2321854</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Wed, 08 May 2013 06:58:42 GMT</pubDate></item><item><title><![CDATA[Reply to Garbage Collector on Wed, 08 May 2013 06:54:34 GMT]]></title><description><![CDATA[<p>Hinzugefügt: Alles passiert in derselben Methode.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2321856</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2321856</guid><dc:creator><![CDATA[tanja.hopfer]]></dc:creator><pubDate>Wed, 08 May 2013 06:54:34 GMT</pubDate></item><item><title><![CDATA[Reply to Garbage Collector on Wed, 08 May 2013 06:59:16 GMT]]></title><description><![CDATA[<p>das ist aber immer noch nicht sehr aussagekräftig. Ein kurzes Coding-Beispiel, was dein Problem illustriert, wäre ganz nett.</p>
<p>Was bedeutet &quot;alles in der selben Methode&quot;. Sind auch die angesprochenen Variablen nur lokal im Scope der Methode gültig? Oder wird Heap-Speicher allokiert? Oder Schlimmeres?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2321857</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2321857</guid><dc:creator><![CDATA[Quisslich]]></dc:creator><pubDate>Wed, 08 May 2013 06:59:16 GMT</pubDate></item><item><title><![CDATA[Reply to Garbage Collector on Wed, 08 May 2013 07:03:04 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/27847">@Quisslich</a>: es handelt sich ebenfalls um membervariablen, sowie Variablen die nur in der Methode sichtbar sind. Vor der Ausnahmeausgabe (MessageBox) werden diesen Variablen halt werte zugewiesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2321859</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2321859</guid><dc:creator><![CDATA[tanja.hopfer]]></dc:creator><pubDate>Wed, 08 May 2013 07:03:04 GMT</pubDate></item><item><title><![CDATA[Reply to Garbage Collector on Wed, 08 May 2013 07:07:19 GMT]]></title><description><![CDATA[<blockquote>
<p>Ein kurzes Coding-Beispiel, was dein Problem illustriert, wäre ganz nett.</p>
</blockquote>
<p>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2321860</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2321860</guid><dc:creator><![CDATA[Del1nquenz]]></dc:creator><pubDate>Wed, 08 May 2013 07:07:19 GMT</pubDate></item><item><title><![CDATA[Reply to Garbage Collector on Thu, 12 Jun 2014 01:44:23 GMT]]></title><description><![CDATA[<p>...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2321861</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2321861</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Thu, 12 Jun 2014 01:44:23 GMT</pubDate></item><item><title><![CDATA[Reply to Garbage Collector on Wed, 08 May 2013 07:23:44 GMT]]></title><description><![CDATA[<p>tanja im ernst. Hast du so wichtigen Code das du ihn nicht in Teilstücken zeigen kannst? In jedem Thread von dir liest man das du doch bitte mal Code zeigen sollst, doch du ignorierst das komplett.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2321865</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2321865</guid><dc:creator><![CDATA[Fuchs aus dem Wald]]></dc:creator><pubDate>Wed, 08 May 2013 07:23:44 GMT</pubDate></item><item><title><![CDATA[Reply to Garbage Collector on Wed, 08 May 2013 07:44:19 GMT]]></title><description><![CDATA[<p>Ich hab jetzt auch keine Lust, mir selbst zusammen zu reimen, was sie da vor Augen hat und welches Problem sie zu lösen versucht. Ohne Code nix los.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2321872</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2321872</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Wed, 08 May 2013 07:44:19 GMT</pubDate></item><item><title><![CDATA[Reply to Garbage Collector on Wed, 08 May 2013 07:52:28 GMT]]></title><description><![CDATA[<p>Nach folgendem Schema :):</p>
<pre><code>void Methode (){

int var1 = 10;

string var2 = &quot;Text&quot;;

Dichte = 2.3; (Membervariable)

if(...) {

cerr &lt;&lt; ....
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2321877</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2321877</guid><dc:creator><![CDATA[tanja.hopfer]]></dc:creator><pubDate>Wed, 08 May 2013 07:52:28 GMT</pubDate></item><item><title><![CDATA[Reply to Garbage Collector on Wed, 08 May 2013 07:58:20 GMT]]></title><description><![CDATA[<p>um welche Variablen geht es dir und welches Verhalten hättest du gerne? Die lokalen Variablen var1 und var2 werden beim Beenden des Scopes automatisch zerstört. Die Membervariable natürlich nicht. Oder möchtest du, dass die Membervariable auf den vorherigen Wert zurückgesetzt wird?</p>
<p>btw. Ausnahmebehandlung macht man mit Exceptions.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2321879</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2321879</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Wed, 08 May 2013 07:58:20 GMT</pubDate></item><item><title><![CDATA[Reply to Garbage Collector on Wed, 08 May 2013 08:04:13 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/27454">@daddy_felix</a>: Gibt es einen Ausnahmefall den man auch ausgeben kann auf dem Bildschirm? Und es geht um die membervariable, genau wie kann man sie wieder auf den wert zurücksetzen? danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2321881</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2321881</guid><dc:creator><![CDATA[tanja.hopfer]]></dc:creator><pubDate>Wed, 08 May 2013 08:04:13 GMT</pubDate></item><item><title><![CDATA[Reply to Garbage Collector on Wed, 08 May 2013 08:10:46 GMT]]></title><description><![CDATA[<p>tanja.hopfer schrieb:</p>
<blockquote>
<p>Gibt es einen Ausnahmefall den man auch ausgeben kann auf dem Bildschirm?</p>
</blockquote>
<p>Mir geht es nicht um die Ausgabe, das kannst du gerne mit cerr machen.</p>
<p>tanja.hopfer schrieb:</p>
<blockquote>
<p>Und es geht um die membervariable, genau wie kann man sie wieder auf den wert zurücksetzen? danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
</blockquote>
<pre><code>void doSomething()
{
  double old_value = member_value;
  member_value = 55;

  if (...)
  {
    cerr &lt;&lt; ...
    member_value = old_value;
  }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2321884</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2321884</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Wed, 08 May 2013 08:10:46 GMT</pubDate></item><item><title><![CDATA[Reply to Garbage Collector on Wed, 08 May 2013 08:13:56 GMT]]></title><description><![CDATA[<p>Danke daddy_felix. Und ansonsten wie volkard sagte ist der Garbage Collector nicht sehr sinnvoll?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2321886</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2321886</guid><dc:creator><![CDATA[tanja.hopfer]]></dc:creator><pubDate>Wed, 08 May 2013 08:13:56 GMT</pubDate></item><item><title><![CDATA[Reply to Garbage Collector on Wed, 08 May 2013 08:21:09 GMT]]></title><description><![CDATA[<p>es gibt in C++ keinen Garbage Collector.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2321887</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2321887</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Wed, 08 May 2013 08:21:09 GMT</pubDate></item><item><title><![CDATA[Reply to Garbage Collector on Wed, 08 May 2013 08:23:13 GMT]]></title><description><![CDATA[<p>Nee ich meinte eigentlich, wie behandelt man solche Sachen in C++ ohne Garbage Collector, gerade weil man ihn nicht zur Verfügung hat?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2321889</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2321889</guid><dc:creator><![CDATA[tanja.hopfer]]></dc:creator><pubDate>Wed, 08 May 2013 08:23:13 GMT</pubDate></item><item><title><![CDATA[Reply to Garbage Collector on Wed, 08 May 2013 08:28:26 GMT]]></title><description><![CDATA[<p>Das Beispiel lässt sich auch elegant mit ScopeGuard lösen. Trotzdem zweifle ich immer noch am Sinn. <em>Wieso</em> willst du die Membervariable wieder zurücksetzen Tanja? Du könntest in der Memberfunktion beispielsweise eine Kopie davon verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2321892</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2321892</guid><dc:creator><![CDATA[einwurf]]></dc:creator><pubDate>Wed, 08 May 2013 08:28:26 GMT</pubDate></item><item><title><![CDATA[Reply to Garbage Collector on Wed, 08 May 2013 08:36:17 GMT]]></title><description><![CDATA[<p>tanja.hopfer schrieb:</p>
<blockquote>
<p>wie behandelt man solche Sachen</p>
</blockquote>
<p>was meinst du mit &quot;solche Sachen&quot;? Mit &quot;new&quot; angelegte Objekte?</p>
<p>Da wurde schon &quot;RAII&quot; und &quot;scoped guards&quot; genannt. Die für den Nutzer einfachste Variante sind &quot;smart pointer&quot;.</p>
<pre><code>void doSomething()
{
  bla();

  {
    std::unique_ptr myPtr(new MyClass(1, &quot;hallo&quot;));
    myPtr-&gt;MethodOfMyClass();
  } // mit Beenden des Scopes wird die erzeugte Instanz automatisch zerstört

  blub();
}
</code></pre>
<p>Generell braucht man &quot;new&quot; aber wesentlich weniger, als man es als JAVA-Umsteiger vermuten könnte <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/2321896</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2321896</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Wed, 08 May 2013 08:36:17 GMT</pubDate></item><item><title><![CDATA[Reply to Garbage Collector on Wed, 08 May 2013 08:42:51 GMT]]></title><description><![CDATA[<p>Das meinte ich daddy_felix. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2321898</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2321898</guid><dc:creator><![CDATA[tanja.hopfer]]></dc:creator><pubDate>Wed, 08 May 2013 08:42:51 GMT</pubDate></item></channel></rss>