<?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[Wie kopiere&#x2F;l&amp;amp;#246;sche ich Elemente aus einer Liste?]]></title><description><![CDATA[<p>Ich habe 3 Liste, die ein und dasselbe Objekt speichern können:</p>
<pre><code class="language-cpp">list&lt;node*&gt; mainlist;
list&lt;node*&gt; send;
list&lt;node*&gt; recv;
list&lt;node*&gt; err;
</code></pre>
<p>Ich muss die erste Liste mainlist durchsuchen und falls ein Objekt eine gewisse Eigenschaft besitzt, dann<br />
1. Entweder in send, oder in recv Liste kopieren (am Ende zum Bsp.).<br />
2. Vom mainlist der Zeiger löschen.<br />
Falls Objekte aus mainlist eine andere spezifische Eigenschaft besitzen, dann müssen sie in err auch verschieben werden.<br />
Ich brauche etwas ähnliches wie copy_if, oder remove_if.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/139691/wie-kopiere-l-amp-246-sche-ich-elemente-aus-einer-liste</link><generator>RSS for Node</generator><lastBuildDate>Sun, 30 Aug 2026 18:25:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/139691.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 08 Mar 2006 15:25:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wie kopiere&#x2F;l&amp;amp;#246;sche ich Elemente aus einer Liste? on Wed, 08 Mar 2006 15:25:20 GMT]]></title><description><![CDATA[<p>Ich habe 3 Liste, die ein und dasselbe Objekt speichern können:</p>
<pre><code class="language-cpp">list&lt;node*&gt; mainlist;
list&lt;node*&gt; send;
list&lt;node*&gt; recv;
list&lt;node*&gt; err;
</code></pre>
<p>Ich muss die erste Liste mainlist durchsuchen und falls ein Objekt eine gewisse Eigenschaft besitzt, dann<br />
1. Entweder in send, oder in recv Liste kopieren (am Ende zum Bsp.).<br />
2. Vom mainlist der Zeiger löschen.<br />
Falls Objekte aus mainlist eine andere spezifische Eigenschaft besitzen, dann müssen sie in err auch verschieben werden.<br />
Ich brauche etwas ähnliches wie copy_if, oder remove_if.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1011694</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1011694</guid><dc:creator><![CDATA[khalderon]]></dc:creator><pubDate>Wed, 08 Mar 2006 15:25:20 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kopiere&#x2F;l&amp;amp;#246;sche ich Elemente aus einer Liste? on Wed, 08 Mar 2006 15:59:15 GMT]]></title><description><![CDATA[<p>du könntest die mainlist mit einer for-schleife durchlaufen und die objekte auf diese bestimmte eigenschaft hin prüfen. wenn diese zutrifft, kopierst bzw. löschst du dein objekt..<br />
ungefähr so?</p>
<pre><code class="language-cpp">for(list&lt;node*&gt;::const_iterator it = mainlist.begin(); it != mainlist.end(); it++) {
  if((*it)-&gt;getObjectAttribute() == irgendwas) {
    // hier dann push_back() etc.
  }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1011738</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1011738</guid><dc:creator><![CDATA[chrismichnich]]></dc:creator><pubDate>Wed, 08 Mar 2006 15:59:15 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kopiere&#x2F;l&amp;amp;#246;sche ich Elemente aus einer Liste? on Thu, 09 Mar 2006 07:34:58 GMT]]></title><description><![CDATA[<p>Wobei - bei list'en würde ich dir empfehlen, dich mal genauer mit splice() zu beschäftigen:</p>
<pre><code class="language-cpp">while(!mainlist.empty())
{
  list&lt;node*&gt;::iterator p=mainlist.begin();
  switch((*p)-&gt;type)
  {
  case SEND: send.splice(send.end(),mainlist,p);break;
  case RECV: recv.splice(recv.end(),mainlist,p);break;
  default:   err.splice(err.end(),mainlist,p);break;
  }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1012177</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1012177</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 09 Mar 2006 07:34:58 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kopiere&#x2F;l&amp;amp;#246;sche ich Elemente aus einer Liste? on Thu, 09 Mar 2006 09:43:10 GMT]]></title><description><![CDATA[<p>CStoll, sehr interessantes Beispiel. Ist slice eine Funktion aus STL? Also diese Funktion &quot;schneidet&quot; spezifische Elemente von der Liste? Und dann kopiert sie diese in einer anderen Liste am Ende?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1012281</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1012281</guid><dc:creator><![CDATA[khalderon]]></dc:creator><pubDate>Thu, 09 Mar 2006 09:43:10 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kopiere&#x2F;l&amp;amp;#246;sche ich Elemente aus einer Liste? on Thu, 09 Mar 2006 09:49:55 GMT]]></title><description><![CDATA[<p>Ja, ist sie - genauer gesagt ist das eine Memberfunktion von std::list&lt;&gt; (d.h. der obige Code klappt nur mit list&lt;&gt; - für andere Container mußt du die Werte per push_back() einfügen und per erase() aus der Ausgangsliste rausschmeißen).</p>
<pre><code class="language-cpp">a.slice(pos,b,org);
</code></pre>
<p>kappt das Element *org aus der Liste b und fügt es an pos in Liste a ein.<br />
(es gibt noch Überladungen für &quot;komplette Liste b&quot; und &quot;Elemente [org1,org2[ aus b&quot;)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1012286</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1012286</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 09 Mar 2006 09:49:55 GMT</pubDate></item><item><title><![CDATA[Reply to Wie kopiere&#x2F;l&amp;amp;#246;sche ich Elemente aus einer Liste? on Thu, 09 Mar 2006 10:28:25 GMT]]></title><description><![CDATA[<p>Ok danke sehr!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1012326</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1012326</guid><dc:creator><![CDATA[khalderon]]></dc:creator><pubDate>Thu, 09 Mar 2006 10:28:25 GMT</pubDate></item></channel></rss>