<?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[Ist dieser Code nicht (mehr) korrekt?]]></title><description><![CDATA[<p>Versuche gerade, mein Projekt von VS2010 auf VS2012 upzugraden. Dabei crasht das Programm mit der Meldung &quot;List iterators not compatible&quot;. Ich konnte den Fehler auf folgendes Minimalbeispiel reduzieren:</p>
<pre><code>std::list&lt;float&gt; test;
std::list&lt;float&gt;::iterator end = test.end();
test.push_back(0.1f);
test.clear();
assert(test.end() == end); // fail
</code></pre>
<p>Ist es korrekt, dass der &quot;end&quot; iterator durch clear() invalidiert wird? Das war nämlich vorher offenbar nicht so. Wenn nicht, muss irgendwas anderes im Eimer sein <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/312561/ist-dieser-code-nicht-mehr-korrekt</link><generator>RSS for Node</generator><lastBuildDate>Sun, 02 Aug 2026 18:46:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/312561.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 07 Jan 2013 22:16:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Ist dieser Code nicht (mehr) korrekt? on Mon, 07 Jan 2013 22:16:25 GMT]]></title><description><![CDATA[<p>Versuche gerade, mein Projekt von VS2010 auf VS2012 upzugraden. Dabei crasht das Programm mit der Meldung &quot;List iterators not compatible&quot;. Ich konnte den Fehler auf folgendes Minimalbeispiel reduzieren:</p>
<pre><code>std::list&lt;float&gt; test;
std::list&lt;float&gt;::iterator end = test.end();
test.push_back(0.1f);
test.clear();
assert(test.end() == end); // fail
</code></pre>
<p>Ist es korrekt, dass der &quot;end&quot; iterator durch clear() invalidiert wird? Das war nämlich vorher offenbar nicht so. Wenn nicht, muss irgendwas anderes im Eimer sein <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/2287402</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2287402</guid><dc:creator><![CDATA[Daniel E]]></dc:creator><pubDate>Mon, 07 Jan 2013 22:16:25 GMT</pubDate></item><item><title><![CDATA[Reply to Ist dieser Code nicht (mehr) korrekt? on Mon, 07 Jan 2013 22:29:51 GMT]]></title><description><![CDATA[<p>Daniel E schrieb:</p>
<blockquote>
<p>Ist es korrekt, dass der &quot;end&quot; iterator durch clear() invalidiert wird?</p>
</blockquote>
<p>Ja, der wird praktisch bei jeder Grössenänderung invalid.</p>
<p>Daniel E schrieb:</p>
<blockquote>
<p>Das war nämlich vorher offenbar nicht so.</p>
</blockquote>
<p>Das war schon immer so.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2287408</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2287408</guid><dc:creator><![CDATA[inko]]></dc:creator><pubDate>Mon, 07 Jan 2013 22:29:51 GMT</pubDate></item><item><title><![CDATA[Reply to Ist dieser Code nicht (mehr) korrekt? on Mon, 07 Jan 2013 22:33:23 GMT]]></title><description><![CDATA[<p>Der Code ist korrekt und sollte funktionieren. Bei einer list werden beim Löschen von Elementen explizit nur Iteratoren auf diese Elemente ungültig, end ist keines dieser Elemente. Dies hat sich in C++11 auch nicht geändert. GCC erzeugt ein Programm, welches korrekt durchläuft. Hast du eventuell eine übereifrige Debugeinstellung aktiviert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2287410</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2287410</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 07 Jan 2013 22:33:23 GMT</pubDate></item><item><title><![CDATA[Reply to Ist dieser Code nicht (mehr) korrekt? on Mon, 07 Jan 2013 22:34:09 GMT]]></title><description><![CDATA[<p>Bei einem std::vector wäre mir das klar, aber bei einer Liste?</p>
<p><a href="http://www.cplusplus.com/reference/list/list/push_back/" rel="nofollow">http://www.cplusplus.com/reference/list/list/push_back/</a></p>
<p>Iterator validity<br />
No changes.</p>
<p><a href="http://www.cplusplus.com/reference/list/list/clear/" rel="nofollow">http://www.cplusplus.com/reference/list/list/clear/</a></p>
<p>Iterator validity<br />
All iterators, references and pointers related to this container are invalidated, except the end iterators.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2287411</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2287411</guid><dc:creator><![CDATA[Daniel E]]></dc:creator><pubDate>Mon, 07 Jan 2013 22:34:09 GMT</pubDate></item><item><title><![CDATA[Reply to Ist dieser Code nicht (mehr) korrekt? on Mon, 07 Jan 2013 22:36:02 GMT]]></title><description><![CDATA[<p>Jap, kann eigentlich nur ein Bug in der STL sein. Schreib mal STL an. <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>
<p>n3485 23.3.5.4/3 schrieb:</p>
<blockquote>
<p>Effects: Invalidates only the iterators and references to the erased elements.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2287412</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2287412</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Mon, 07 Jan 2013 22:36:02 GMT</pubDate></item><item><title><![CDATA[Reply to Ist dieser Code nicht (mehr) korrekt? on Mon, 07 Jan 2013 22:36:14 GMT]]></title><description><![CDATA[<p>Danke, SeppJ! Nicht dass ich wüsste. Habe das Projekt einfach nur automatisch konvertieren lassen. Wonach könnte ich schauen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2287414</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2287414</guid><dc:creator><![CDATA[Daniel E]]></dc:creator><pubDate>Mon, 07 Jan 2013 22:36:14 GMT</pubDate></item><item><title><![CDATA[Reply to Ist dieser Code nicht (mehr) korrekt? on Thu, 12 Jun 2014 12:15:02 GMT]]></title><description><![CDATA[<p>...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2287415</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2287415</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Thu, 12 Jun 2014 12:15:02 GMT</pubDate></item><item><title><![CDATA[Reply to Ist dieser Code nicht (mehr) korrekt? on Mon, 07 Jan 2013 22:45:01 GMT]]></title><description><![CDATA[<p>cooky451 schrieb:</p>
<blockquote>
<p>Jap, kann eigentlich nur ein Bug in der STL sein. Schreib mal STL an. <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>Ich hatte das als Scherz interpretiert(?), aber es passiert selbst in einem frischen Projekt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2287418</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2287418</guid><dc:creator><![CDATA[Daniel E]]></dc:creator><pubDate>Mon, 07 Jan 2013 22:45:01 GMT</pubDate></item><item><title><![CDATA[Reply to Ist dieser Code nicht (mehr) korrekt? on Mon, 07 Jan 2013 22:50:17 GMT]]></title><description><![CDATA[<p>Heißt das nun, dass dieses Verhalten normal sein kann? Dann verwirrt mich der Eintrag auf <a href="http://www.cplusplus.com/reference/list/list/clear/" rel="nofollow">http://www.cplusplus.com/reference/list/list/clear/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2287420</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2287420</guid><dc:creator><![CDATA[Daniel E]]></dc:creator><pubDate>Mon, 07 Jan 2013 22:50:17 GMT</pubDate></item><item><title><![CDATA[Reply to Ist dieser Code nicht (mehr) korrekt? on Thu, 12 Jun 2014 12:15:05 GMT]]></title><description><![CDATA[<p>...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2287424</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2287424</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Thu, 12 Jun 2014 12:15:05 GMT</pubDate></item></channel></rss>