<?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[Fremder Iterator an std::list::erase übergeben?]]></title><description><![CDATA[<p>Ist das Verhalten definiert? Mich wundert es dass es auch klappt wenn man das erste oder das letzte Element löscht. Ist im Iterator etwa auch noch die zugehörige Liste gespeichert?</p>
<pre><code class="language-cpp">#include &lt;list&gt;
#include &lt;algorithm&gt;
#include &lt;iostream&gt;
#include &lt;iterator&gt;

int main ()
{
	std::list&lt;int&gt; list, dummy;

	for(int i=0; i&lt;10; ++i) {
		list.push_back(i);
	}

	std::list&lt;int&gt;::iterator del = find(list.begin(), list.end(), 5);

	dummy.erase(del);

	std::copy(list.begin(), list.end(), std::ostream_iterator&lt;int&gt;(std::cout, &quot; &quot;));

}
</code></pre>
<p>edit: Habs getesten mit MS Vc2003</p>
<p>edit2: Habe bemerkt dass die Größe (list::size) 10 bleibt, aber warum kann man den Anfang löschen, das darf doch normal nicht gehen <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="😕"
    /></p>
<pre><code class="language-cpp">std::list&lt;int&gt; list, dummy;
/* list füllen */
dummy.erase(list.begin());
*list.begin() = 100; // geht, warum?
</code></pre>
<p>Eigentlich müsste doch der Pointer in list für den Anfang jetzt ins Nirvana zeigen?</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/121897/fremder-iterator-an-std-list-erase-übergeben</link><generator>RSS for Node</generator><lastBuildDate>Sat, 22 Aug 2026 20:50:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/121897.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 28 Sep 2005 13:15:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fremder Iterator an std::list::erase übergeben? on Wed, 28 Sep 2005 13:25:23 GMT]]></title><description><![CDATA[<p>Ist das Verhalten definiert? Mich wundert es dass es auch klappt wenn man das erste oder das letzte Element löscht. Ist im Iterator etwa auch noch die zugehörige Liste gespeichert?</p>
<pre><code class="language-cpp">#include &lt;list&gt;
#include &lt;algorithm&gt;
#include &lt;iostream&gt;
#include &lt;iterator&gt;

int main ()
{
	std::list&lt;int&gt; list, dummy;

	for(int i=0; i&lt;10; ++i) {
		list.push_back(i);
	}

	std::list&lt;int&gt;::iterator del = find(list.begin(), list.end(), 5);

	dummy.erase(del);

	std::copy(list.begin(), list.end(), std::ostream_iterator&lt;int&gt;(std::cout, &quot; &quot;));

}
</code></pre>
<p>edit: Habs getesten mit MS Vc2003</p>
<p>edit2: Habe bemerkt dass die Größe (list::size) 10 bleibt, aber warum kann man den Anfang löschen, das darf doch normal nicht gehen <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="😕"
    /></p>
<pre><code class="language-cpp">std::list&lt;int&gt; list, dummy;
/* list füllen */
dummy.erase(list.begin());
*list.begin() = 100; // geht, warum?
</code></pre>
<p>Eigentlich müsste doch der Pointer in list für den Anfang jetzt ins Nirvana zeigen?</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/882119</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882119</guid><dc:creator><![CDATA[FireFlow]]></dc:creator><pubDate>Wed, 28 Sep 2005 13:25:23 GMT</pubDate></item><item><title><![CDATA[Reply to Fremder Iterator an std::list::erase übergeben? on Wed, 28 Sep 2005 13:29:57 GMT]]></title><description><![CDATA[<p>Ist nicht definiert. STLport mit SafeIterators würd da z.B. auf die Barrikaden gehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/882129</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882129</guid><dc:creator><![CDATA[7H3 N4C3R]]></dc:creator><pubDate>Wed, 28 Sep 2005 13:29:57 GMT</pubDate></item><item><title><![CDATA[Reply to Fremder Iterator an std::list::erase übergeben? on Wed, 28 Sep 2005 13:33:02 GMT]]></title><description><![CDATA[<p>[EDIT] Mir is jetzt erst aufgefallen, dass du zwei verschiedene Listen benutzt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/882134</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882134</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Wed, 28 Sep 2005 13:33:02 GMT</pubDate></item><item><title><![CDATA[Reply to Fremder Iterator an std::list::erase übergeben? on Wed, 28 Sep 2005 13:36:23 GMT]]></title><description><![CDATA[<p>[Edit] Da Michael E. editiert hat, jetzt überflüssig <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/882141</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882141</guid><dc:creator><![CDATA[7H3 N4C3R]]></dc:creator><pubDate>Wed, 28 Sep 2005 13:36:23 GMT</pubDate></item><item><title><![CDATA[Reply to Fremder Iterator an std::list::erase übergeben? on Wed, 28 Sep 2005 13:37:55 GMT]]></title><description><![CDATA[<p>Schneller :p <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>[Edit] Och, da der Post schon mal hier ist und jetzt genauso überflüssig wie deiner ist... Wie is denn das Wetter so? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/882144</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882144</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Wed, 28 Sep 2005 13:37:55 GMT</pubDate></item><item><title><![CDATA[Reply to Fremder Iterator an std::list::erase übergeben? on Wed, 28 Sep 2005 13:40:49 GMT]]></title><description><![CDATA[<p>Noch gut. Aber gleich muss ich mit'm Fahrrad nach Haus. Werd mal das Beste hoffen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /> <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/882150</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882150</guid><dc:creator><![CDATA[7H3 N4C3R]]></dc:creator><pubDate>Wed, 28 Sep 2005 13:40:49 GMT</pubDate></item><item><title><![CDATA[Reply to Fremder Iterator an std::list::erase übergeben? on Wed, 28 Sep 2005 13:46:01 GMT]]></title><description><![CDATA[<p>7H3 N4C3R schrieb:</p>
<blockquote>
<p>Noch gut. Aber gleich muss ich mit'm Fahrrad nach Haus. Werd mal das Beste hoffen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /> <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>
</blockquote>
<p>Tja ich bin schon daheim (mit Fahrrad)</p>
<p>Das Thema hat sich ja wohl geklärt <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>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/882160</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882160</guid><dc:creator><![CDATA[FireFlow]]></dc:creator><pubDate>Wed, 28 Sep 2005 13:46:01 GMT</pubDate></item><item><title><![CDATA[Reply to Fremder Iterator an std::list::erase übergeben? on Wed, 28 Sep 2005 15:06:27 GMT]]></title><description><![CDATA[<p>Hab mal kurz nen Blick in die Header geworfen und es funktioniert deshalb, weil diese Memberfunktionen die Werte aus den Iteratoren extrahieren, dadurch wird die Änderung innerhalb von erase an list vorgenommen, die Größenänderung jedoch an dummy, da erase ja nen gültigen Iterator erwartet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/882262</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/882262</guid><dc:creator><![CDATA[User---]]></dc:creator><pubDate>Wed, 28 Sep 2005 15:06:27 GMT</pubDate></item></channel></rss>