<?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[element aus pos a der liste entfernen]]></title><description><![CDATA[<p>hallo<br />
ich hab folgendes Problem<br />
Ich möchte wie oben beschrieben an der a-ten Stelle ein Element entfernen. Kiregs aber nicht gebacken.<br />
muss das la mit erase machen.<br />
Hatte mir das weil mir nix besseres einfiel in etwa so forgestellt. klappt aber nicht.</p>
<pre><code class="language-cpp">int j=0;
	for (i = liste.begin(); i!= liste.end(); ++i)
	{
		if (a==j) liste.erase(i);
		j++;
	}

}
</code></pre>
<p>Wie mach ich dat?</p>
<p>Und wie setzte ich den iterator an a-te Stelle hab bislang nur gefunden wie man ihn an die erste und auf die eltzte Position zeigen lässt</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/134281/element-aus-pos-a-der-liste-entfernen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 28 Aug 2026 10:05:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/134281.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 24 Jan 2006 23:08:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to element aus pos a der liste entfernen on Tue, 24 Jan 2006 23:08:53 GMT]]></title><description><![CDATA[<p>hallo<br />
ich hab folgendes Problem<br />
Ich möchte wie oben beschrieben an der a-ten Stelle ein Element entfernen. Kiregs aber nicht gebacken.<br />
muss das la mit erase machen.<br />
Hatte mir das weil mir nix besseres einfiel in etwa so forgestellt. klappt aber nicht.</p>
<pre><code class="language-cpp">int j=0;
	for (i = liste.begin(); i!= liste.end(); ++i)
	{
		if (a==j) liste.erase(i);
		j++;
	}

}
</code></pre>
<p>Wie mach ich dat?</p>
<p>Und wie setzte ich den iterator an a-te Stelle hab bislang nur gefunden wie man ihn an die erste und auf die eltzte Position zeigen lässt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/975445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/975445</guid><dc:creator><![CDATA[chewbo]]></dc:creator><pubDate>Tue, 24 Jan 2006 23:08:53 GMT</pubDate></item><item><title><![CDATA[Reply to element aus pos a der liste entfernen on Tue, 24 Jan 2006 23:47:38 GMT]]></title><description><![CDATA[<p>Dein Code ist gefährlich, weil erase() den Iterator ungültig macht. Das führt zu undefiniertem Verhalten. Du müsstest den Code so ergänzen:</p>
<pre><code class="language-cpp">int j=0;
    for (i = liste.begin(); i!= liste.end(); ++i)
    {
        if (a==j)
            {
            liste.erase(i);
            break;     // Iterator i nicht weiter verwenden!
            }
        j++;
    }

}
</code></pre>
<p>... dann sollte er auch funktionieren.</p>
<p>std::advance() macht übrigens dasselbe, nur dass die Funktion effektiver arbeitet, falls ein Random-Access-Iterator übergeben wird:</p>
<pre><code class="language-cpp">#include &lt;iterator&gt;

Listentyp::iterator iter = liste.begin();
std::advance(iter, a);
liste.erase(iter);
</code></pre>
<p>Stefan.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/975460</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/975460</guid><dc:creator><![CDATA[DStefan]]></dc:creator><pubDate>Tue, 24 Jan 2006 23:47:38 GMT</pubDate></item></channel></rss>