<?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[Iteratoren]]></title><description><![CDATA[<p>Hi <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>
<p>Mir ist etwas bei den Iteratoren aufgefallen. Da gibt es den Unterschied zwischen begin und cbegin. Zugehörig gibts auch end und cend. Siehe z. B. <a href="http://msdn.microsoft.com/en-us/library/dd779436.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/dd779436.aspx</a></p>
<p>Nun dachte ich mir, dass zu einem begin immer ein end, und zu einem cbegin immer ein cend gehört. Seltsamerweise kann man aber auch ein cbegin mit einem end kombinieren.</p>
<p>Wie programmiert man denn das nun sauber korrekt?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/324515/iteratoren</link><generator>RSS for Node</generator><lastBuildDate>Tue, 14 Jul 2026 16:19:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/324515.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 19 Mar 2014 23:12:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Iteratoren on Wed, 19 Mar 2014 23:12:19 GMT]]></title><description><![CDATA[<p>Hi <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>
<p>Mir ist etwas bei den Iteratoren aufgefallen. Da gibt es den Unterschied zwischen begin und cbegin. Zugehörig gibts auch end und cend. Siehe z. B. <a href="http://msdn.microsoft.com/en-us/library/dd779436.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/dd779436.aspx</a></p>
<p>Nun dachte ich mir, dass zu einem begin immer ein end, und zu einem cbegin immer ein cend gehört. Seltsamerweise kann man aber auch ein cbegin mit einem end kombinieren.</p>
<p>Wie programmiert man denn das nun sauber korrekt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2389869</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2389869</guid><dc:creator><![CDATA[tröröö]]></dc:creator><pubDate>Wed, 19 Mar 2014 23:12:19 GMT</pubDate></item><item><title><![CDATA[Reply to Iteratoren on Wed, 19 Mar 2014 23:27:20 GMT]]></title><description><![CDATA[<blockquote>
<p>Wie programmiert man denn das nun sauber korrekt?</p>
</blockquote>
<p>Einfach konsequent bleiben? Was ist daran so schwer?</p>
<p>Und ein <code>cbegin()</code> passt nicht immer zu einem <code>end()</code> , weil diese Funktionen zwei verschiedene Iteratorentypen zurückgeben, und bspw. ein Funktionstemplate so die Argumente nicht konsistent deduzieren kann.</p>
<p>Edit: Untereinander sind diese beiden Iteratortypen durchaus kompatibel: So ist der Rückgabetyp von <code>begin</code> / <code>end</code> -Funktionen, also ein <code>iterator</code> *, immer einem <code>const_iterator</code> desselben Containers zuweisbar. Zudem sind sie auch vergleichbar usw.</p>
<p>* Damit sind natürlich die Memberfunktionen von STL-Containern gemeint; die globalen<a href="http://en.cppreference.com/w/cpp/iterator/begin" rel="nofollow"> <code>begin</code> / <code>end</code> / <code>cbegin</code> / <code>cend</code> </a>Funktionen können auch auf Arrays angewandt werden, in welchem Fall sie einen Zeiger zurückliefern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2389872</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2389872</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Wed, 19 Mar 2014 23:27:20 GMT</pubDate></item><item><title><![CDATA[Reply to Iteratoren on Thu, 20 Mar 2014 00:02:27 GMT]]></title><description><![CDATA[<p>Widersprichst du dich da nicht selbst?</p>
<p>Einerseits:</p>
<blockquote>
<p>ein cbegin() passt nicht immer zu einem end()</p>
</blockquote>
<p>Andererseits:</p>
<blockquote>
<p>Untereinander sind diese beiden Iteratortypen durchaus kompatibel</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2389878</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2389878</guid><dc:creator><![CDATA[tröröö]]></dc:creator><pubDate>Thu, 20 Mar 2014 00:02:27 GMT</pubDate></item><item><title><![CDATA[Reply to Iteratoren on Thu, 20 Mar 2014 00:27:42 GMT]]></title><description><![CDATA[<p>tröröö schrieb:</p>
<blockquote>
<p>Widersprichst du dich da nicht selbst?</p>
</blockquote>
<p>Weißt du, was ein Widerspruch ist?</p>
<p>Kleiner Tipp: Ich habe &quot;Sie passen <em>nicht immer</em>&quot; und &quot;<em>durchaus</em> kompatibel&quot; gesagt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2389880</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2389880</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Thu, 20 Mar 2014 00:27:42 GMT</pubDate></item><item><title><![CDATA[Reply to Iteratoren on Thu, 20 Mar 2014 10:09:14 GMT]]></title><description><![CDATA[<p>tröröö schrieb:</p>
<blockquote>
<p>[...]</p>
</blockquote>
<p>ich übernehme mal das googlen für dich:<br />
<a href="http://stackoverflow.com/questions/12001410/what-is-the-reason-behind-cbegin-cend" rel="nofollow">http://stackoverflow.com/questions/12001410/what-is-the-reason-behind-cbegin-cend</a></p>
<p>wieso std::begin / std::end mit c++11 eingeführt wurden, nicht aber std::cbegin / std::cend ist eine andere frage.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2389921</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2389921</guid><dc:creator><![CDATA[Fytch]]></dc:creator><pubDate>Thu, 20 Mar 2014 10:09:14 GMT</pubDate></item></channel></rss>