<?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[Destruktor aufrufen]]></title><description><![CDATA[<p>beim durchlaufen einer stl::list moechte ich ein Element aus der Liste entfernen und desen Destruktor aufrufen</p>
<pre><code class="language-cpp">//in stl::list figuren_list sind meine objekte
//it ist der iterrator 
if((*it)-&gt;life==0){
    figuren_list.erase(it);
    delete &amp;(*it);
}
</code></pre>
<p>beim loeschen kommt ein &quot;Speicherzugriffsfehler&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/130040/destruktor-aufrufen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 26 Aug 2026 10:18:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/130040.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 19 Dec 2005 10:05:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Destruktor aufrufen on Mon, 19 Dec 2005 10:05:29 GMT]]></title><description><![CDATA[<p>beim durchlaufen einer stl::list moechte ich ein Element aus der Liste entfernen und desen Destruktor aufrufen</p>
<pre><code class="language-cpp">//in stl::list figuren_list sind meine objekte
//it ist der iterrator 
if((*it)-&gt;life==0){
    figuren_list.erase(it);
    delete &amp;(*it);
}
</code></pre>
<p>beim loeschen kommt ein &quot;Speicherzugriffsfehler&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/945353</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/945353</guid><dc:creator><![CDATA[neogeo]]></dc:creator><pubDate>Mon, 19 Dec 2005 10:05:29 GMT</pubDate></item><item><title><![CDATA[Reply to Destruktor aufrufen on Mon, 19 Dec 2005 10:10:44 GMT]]></title><description><![CDATA[<p>falls in deinem Container ein Zeiegr ist: erst mit new den speicher freigeben, danach den Zeiger aus dem Container raushauen.</p>
<pre><code class="language-cpp">delete *it;
</code></pre>
<p>Falls du ganze Objekte in deiner Liste hast, brauchst du garnichts freigeben, dass macht die Liste dann von allein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/945357</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/945357</guid><dc:creator><![CDATA[Pellaeon]]></dc:creator><pubDate>Mon, 19 Dec 2005 10:10:44 GMT</pubDate></item><item><title><![CDATA[Reply to Destruktor aufrufen on Mon, 19 Dec 2005 10:58:47 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">if((*it)-&gt;life==0){
    delete *it;
    figuren_list.erase(it);
}
</code></pre>
<p>so sieht der code jetzt aus <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="😕"
    /> der fehler ist noch da</p>
]]></description><link>https://www.c-plusplus.net/forum/post/945396</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/945396</guid><dc:creator><![CDATA[neogeo]]></dc:creator><pubDate>Mon, 19 Dec 2005 10:58:47 GMT</pubDate></item><item><title><![CDATA[Reply to Destruktor aufrufen on Mon, 19 Dec 2005 10:38:17 GMT]]></title><description><![CDATA[<p>Erst delete, dann den Zeiger aus der Liste entfernen. erase macht den Iterator ungültig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/945398</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/945398</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Mon, 19 Dec 2005 10:38:17 GMT</pubDate></item><item><title><![CDATA[Reply to Destruktor aufrufen on Mon, 19 Dec 2005 12:07:16 GMT]]></title><description><![CDATA[<blockquote>
<p>Erst delete, dann den Zeiger aus der Liste entfernen. erase macht den Iterator ungültig.</p>
</blockquote>
<p>Das alleine reicht nicht. Der OP schrrieb ja:</p>
<blockquote>
<p>beim durchlaufen einer stl::list</p>
</blockquote>
<p>Vor dem Aufurf von list::erase muss er sich also noch einen gültigen Iterator besorgen. Andernfalls führt das nachfolgende Inkrementieren von it zu undefiniertem Verhalten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/945496</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/945496</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Mon, 19 Dec 2005 12:07:16 GMT</pubDate></item></channel></rss>