<?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[gezieltes löschen von Instanzen]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich weiß derzeit nicht wie folgendes lösen soll: Also ich habe ca. 30.000 Instanzen einer Klasse, die Klasse besitzt unter anderem ein bool welches standardmässig auf true ist. Durch verschiedene Funktion wird dies auf false gesetezt. Diese Instanzen sollen gelöscht werden, was wäre die beste Lösung? Die Instanzen in eine Liste schieben und mit dem iterator löschen?</p>
<p>Danke für jede Hilfe <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="🙂"
    /> <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/topic/233743/gezieltes-löschen-von-instanzen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 18:49:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/233743.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 08 Feb 2009 17:28:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to gezieltes löschen von Instanzen on Sun, 08 Feb 2009 17:28:38 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich weiß derzeit nicht wie folgendes lösen soll: Also ich habe ca. 30.000 Instanzen einer Klasse, die Klasse besitzt unter anderem ein bool welches standardmässig auf true ist. Durch verschiedene Funktion wird dies auf false gesetezt. Diese Instanzen sollen gelöscht werden, was wäre die beste Lösung? Die Instanzen in eine Liste schieben und mit dem iterator löschen?</p>
<p>Danke für jede Hilfe <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="🙂"
    /> <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/1660077</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1660077</guid><dc:creator><![CDATA[Hanfba3R]]></dc:creator><pubDate>Sun, 08 Feb 2009 17:28:38 GMT</pubDate></item><item><title><![CDATA[Reply to gezieltes löschen von Instanzen on Sun, 08 Feb 2009 17:32:24 GMT]]></title><description><![CDATA[<p>Wo sind denn die Objekte drin? Also wie hälst du sie im Moment?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1660080</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1660080</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 08 Feb 2009 17:32:24 GMT</pubDate></item><item><title><![CDATA[Reply to gezieltes löschen von Instanzen on Sun, 08 Feb 2009 17:44:45 GMT]]></title><description><![CDATA[<p>Also ich habe so erzeugt:<br />
cDreieck *pDreieck;<br />
pDreieck = new cDreieck[Anzahl];</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1660084</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1660084</guid><dc:creator><![CDATA[Hanfba3R]]></dc:creator><pubDate>Sun, 08 Feb 2009 17:44:45 GMT</pubDate></item><item><title><![CDATA[Reply to gezieltes löschen von Instanzen on Sun, 08 Feb 2009 18:33:33 GMT]]></title><description><![CDATA[<p>Da kannst du jetzt aber keine einzelnen Objekte rauslöschen. Du musst die Objekte einzeln allokieren und in einer Liste speichern. Dann kannst du die da auch ganz einfach rauslöschen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1660115</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1660115</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 08 Feb 2009 18:33:33 GMT</pubDate></item><item><title><![CDATA[Reply to gezieltes löschen von Instanzen on Sun, 08 Feb 2009 18:57:37 GMT]]></title><description><![CDATA[<p>So in etwa? Ich glaube meine Syntax ist da noch nicht ganz richtig^^</p>
<p>class Beispiel<br />
{<br />
bool aehnlich;<br />
class ()<br />
{<br />
bool = true;<br />
}<br />
void Funktion ()<br />
{<br />
//macht irgendwie das es entweder false oder true ist<br />
}<br />
}</p>
<p>main ()<br />
{<br />
Beispiel *pBeispiel;<br />
pBeispiel = new Beispiel[30];</p>
<p>list &lt;Beispiel&gt; Liste;<br />
list &lt;Beispiel&gt;::iterator i;</p>
<p>for(int i = 0;i &lt; 30;i++)<br />
{<br />
pBeispiel[i].Funktion();<br />
Liste.push_back(pBeispiel[i]);<br />
}</p>
<p>for(i = i.begin();i != i.end(); ++i)<br />
{<br />
if(*i-&gt;aehnlich == false)<br />
{<br />
Liste.erase(i);<br />
}<br />
}<br />
return 0;<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1660128</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1660128</guid><dc:creator><![CDATA[Hanfba3R]]></dc:creator><pubDate>Sun, 08 Feb 2009 18:57:37 GMT</pubDate></item><item><title><![CDATA[Reply to gezieltes löschen von Instanzen on Sun, 08 Feb 2009 19:06:55 GMT]]></title><description><![CDATA[<p>Das geht schon, ist aber nicht das, was du willst..</p>
<p>Du brauchst/willst eher so etwas:</p>
<pre><code class="language-cpp">std::list&lt;Beispiel*&gt; list;

for (int i = 0; i &lt; 300 ; i++)
    list.push_back ( new Beispiel ); //füllen

...

std::list&lt;Beispiel*&gt;::iterator it = std::find ( ... ); //wie auch immer an einen iterator kommen

delete *it; //zuerst speicher freigeben
list.erase ( it ); //und dann aus der Liste entfernen
...
</code></pre>
<p>Da würde man normalerweise eher einen Smart Poiner benutzen, dann fällt das freigeben mit delete auch wieder weg und man kann auch die remove Funktionen benutzen, welche effizienter sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1660136</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1660136</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 08 Feb 2009 19:06:55 GMT</pubDate></item><item><title><![CDATA[Reply to gezieltes löschen von Instanzen on Sun, 08 Feb 2009 19:12:27 GMT]]></title><description><![CDATA[<p>Ah Danke! Werd' ich gleich mal ausprobieren. Und ja hast Recht, das ist eher was ich will <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1660139</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1660139</guid><dc:creator><![CDATA[Hanfba3R]]></dc:creator><pubDate>Sun, 08 Feb 2009 19:12:27 GMT</pubDate></item><item><title><![CDATA[Reply to gezieltes löschen von Instanzen on Sun, 08 Feb 2009 23:56:49 GMT]]></title><description><![CDATA[<p>Wenn du wirklich Zeiger auf die Objekte speichern willst (ist oft nicht nötig, die meisten Container legen ihre Elemente bereits auf dem Heap an), kannst du dir vielleicht auch mal <em>Boost.Pointer Container</em> anschauen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1660255</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1660255</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 08 Feb 2009 23:56:49 GMT</pubDate></item><item><title><![CDATA[Reply to gezieltes löschen von Instanzen on Sun, 08 Feb 2009 23:59:40 GMT]]></title><description><![CDATA[<p>Und ich werfe mal <a href="http://cplusplus.com/reference/algorithm/remove_if.html" rel="nofollow">std::remove_if</a> in den Raum.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1660256</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1660256</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Sun, 08 Feb 2009 23:59:40 GMT</pubDate></item><item><title><![CDATA[Reply to gezieltes löschen von Instanzen on Mon, 09 Feb 2009 00:04:17 GMT]]></title><description><![CDATA[<p>Badestrand schrieb:</p>
<blockquote>
<p>Und ich werfe mal <a href="http://cplusplus.com/reference/algorithm/remove_if.html" rel="nofollow">std::remove_if</a> in den Raum.</p>
</blockquote>
<p>Vielleicht noch anzumerken, dass der Name irreführen kann. Die Elemente werden nicht wirklich gelöscht, sondern nur ans Ende der Sequenz verschoben. Mit der Memberfunktion <code>erase()</code> kann man eine Iterator-Range (z.B. den Rückgabewert von <code>remove_if()</code> bis <code>end()</code> ) wirklich aus dem Container entfernen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1660258</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1660258</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 09 Feb 2009 00:04:17 GMT</pubDate></item></channel></rss>