<?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[Kurze Frage C++ Primer betreffend]]></title><description><![CDATA[<p>Schönen Tage euch allen.<br />
Eine kurze frage. Ich hab mir vor ein paar Tagen den C++ Primer geholt. Hatte auf verschiedenen Seiten gelesen, es sei ganz gut. Ich glaube unter anderem auch hier. Also ich hätte nur eine kurze Frage, die ein Beispiel aus dem Buch betrifft</p>
<pre><code>forward_list&lt;int&gt; flst = {0,1,2,3,4,5,6,7,8,9};

auto prev = flst.before_begin(); // denotes element &quot;off the start&quot; of flst

auto curr = flst.begin();        // denotes the first element in flst

while (curr != flst.end()) {     // while there are still elements to process

    if (*curr % 2)                     // if the element is odd

        curr = flst.erase_after(prev); // erase it and move curr

    else {

        prev = curr;            // move the iterators to denote the next

        ++curr;                 // element and one before the next element

    }

}
</code></pre>
<p>Also angenommen, bei dem ersten Element von flst würde ein ungerader Wert stehen. Dann wird ja prev entfernt. Da aber prev noch auf kein existierendes Element zeigt, kann es dadurch eventuell zu Fehlern kommen ? Ich bin relativ neu, was Container angeht und könnte mir denken bei den wird es anders behandelt. Wollte nur auf Nummer sicher gehen und nachfragen.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/337677/kurze-frage-c-primer-betreffend</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Apr 2026 23:24:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/337677.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 19 Apr 2016 12:06:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Kurze Frage C++ Primer betreffend on Tue, 19 Apr 2016 12:06:48 GMT]]></title><description><![CDATA[<p>Schönen Tage euch allen.<br />
Eine kurze frage. Ich hab mir vor ein paar Tagen den C++ Primer geholt. Hatte auf verschiedenen Seiten gelesen, es sei ganz gut. Ich glaube unter anderem auch hier. Also ich hätte nur eine kurze Frage, die ein Beispiel aus dem Buch betrifft</p>
<pre><code>forward_list&lt;int&gt; flst = {0,1,2,3,4,5,6,7,8,9};

auto prev = flst.before_begin(); // denotes element &quot;off the start&quot; of flst

auto curr = flst.begin();        // denotes the first element in flst

while (curr != flst.end()) {     // while there are still elements to process

    if (*curr % 2)                     // if the element is odd

        curr = flst.erase_after(prev); // erase it and move curr

    else {

        prev = curr;            // move the iterators to denote the next

        ++curr;                 // element and one before the next element

    }

}
</code></pre>
<p>Also angenommen, bei dem ersten Element von flst würde ein ungerader Wert stehen. Dann wird ja prev entfernt. Da aber prev noch auf kein existierendes Element zeigt, kann es dadurch eventuell zu Fehlern kommen ? Ich bin relativ neu, was Container angeht und könnte mir denken bei den wird es anders behandelt. Wollte nur auf Nummer sicher gehen und nachfragen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2493503</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2493503</guid><dc:creator><![CDATA[ChukkSatyriasis]]></dc:creator><pubDate>Tue, 19 Apr 2016 12:06:48 GMT</pubDate></item><item><title><![CDATA[Reply to Kurze Frage C++ Primer betreffend on Tue, 19 Apr 2016 12:12:59 GMT]]></title><description><![CDATA[<p>Kein Problem, siehe z.B. <a href="http://www.cplusplus.com/reference/forward_list/forward_list/before_begin/" rel="nofollow">http://www.cplusplus.com/reference/forward_list/forward_list/before_begin/</a></p>
<p>Insbesondere:</p>
<blockquote>
<p>The iterator returned shall not be dereferenced: It is meant to be used as an argument for member functions emplace_after, insert_after, erase_after or splice_after, to specify the beginning of the sequence as the location where the action is performed.</p>
</blockquote>
<p>Also, <code>prev</code> wird mit <code>before_begin</code> initialisiert. Das darf zwar nicht dereferenziert werden, ist aber dafür gedacht, für <code>erase_after</code> verwendet zu werden. Wie könntest du sonst das erste Element löschen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2493504</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2493504</guid><dc:creator><![CDATA[wob]]></dc:creator><pubDate>Tue, 19 Apr 2016 12:12:59 GMT</pubDate></item><item><title><![CDATA[Reply to Kurze Frage C++ Primer betreffend on Tue, 19 Apr 2016 12:17:42 GMT]]></title><description><![CDATA[<p>Ahhhh <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>Vielen dank. Hab alles verstanden. Dann kann ich ja in Ruhe weiter lernen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2493505</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2493505</guid><dc:creator><![CDATA[ChukkSatyriasis]]></dc:creator><pubDate>Tue, 19 Apr 2016 12:17:42 GMT</pubDate></item></channel></rss>