<?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[Iterator - .end() zeigt auf das Element &#x27;HINTER&#x27; dem letzten Element]]></title><description><![CDATA[<p>Wie ist das zu verstehen, das .end() auf das Element 'HINTER' dem letzten zeigt. Ich mein &quot;hinter dem letzten Element&quot; kanns doch kein weiters mehr geben? Auf was zeigt es dann? Ich versteh schon wie mans anwendet, nur mir das vorzustellen is bissel schwierig. Kann mir jemand auf die Sprünge helfen?</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/208800/iterator-end-zeigt-auf-das-element-hinter-dem-letzten-element</link><generator>RSS for Node</generator><lastBuildDate>Mon, 12 Oct 2026 01:56:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/208800.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 22 Mar 2008 21:07:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Iterator - .end() zeigt auf das Element &#x27;HINTER&#x27; dem letzten Element on Sat, 22 Mar 2008 21:07:31 GMT]]></title><description><![CDATA[<p>Wie ist das zu verstehen, das .end() auf das Element 'HINTER' dem letzten zeigt. Ich mein &quot;hinter dem letzten Element&quot; kanns doch kein weiters mehr geben? Auf was zeigt es dann? Ich versteh schon wie mans anwendet, nur mir das vorzustellen is bissel schwierig. Kann mir jemand auf die Sprünge helfen?</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1478922</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1478922</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Sat, 22 Mar 2008 21:07:31 GMT</pubDate></item><item><title><![CDATA[Reply to Iterator - .end() zeigt auf das Element &#x27;HINTER&#x27; dem letzten Element on Sat, 22 Mar 2008 22:08:02 GMT]]></title><description><![CDATA[<p>beispiel an einem array:</p>
<p>6 elemente:</p>
<pre><code class="language-cpp">int arr[6] = {0,1,2,3,4,5};

int * p = arr + 0;
int * e = arr+6;

for(int cnt = 0;p != e; ++p,++cnt)
{
  std::cout &lt;&lt; &quot;[&quot; &lt;&lt; cnt &lt;&lt; &quot;] = &quot; &lt;&lt; *p &lt;&lt; std::endl;
}
</code></pre>
<pre><code>p                 e
 |                 |
 V                 V
[0][1][2][3][4][5][6]
</code></pre>
<p>[0] = 0</p>
<pre><code>p              e
    |              |
    V              V
[0][1][2][3][4][5][6]
</code></pre>
<p>[1] = 1</p>
<pre><code>p           e
       |           |
       V           V
[0][1][2][3][4][5][6]
</code></pre>
<p>[2] = 2</p>
<pre><code>p        e
          |        |
          V        V
[0][1][2][3][4][5][6]
</code></pre>
<p>[3] = 3</p>
<pre><code>p     e
             |     |
             V     V
[0][1][2][3][4][5][6]
</code></pre>
<p>[4] = 4</p>
<pre><code>p  e
                |  |
                V  V
[0][1][2][3][4][5][6]
</code></pre>
<p>[5] = 5</p>
<pre><code>pe
                   ||
                   VV
[0][1][2][3][4][5][6]
</code></pre>
<p>Nun e zeigt auf das nicht existierende element 7 (welches hinter dem letzten element des arrays liegt)</p>
<p>nun schau dir mal die Algorithmen in der STL an, die verwenden sehr oft 2 iteratoren</p>
<p>start und ende, wobei ende niemals auf einen zu bearbeitenden Wert zeigen wird.</p>
<p>std::sort(p,e);<br />
std::unique(p,e);</p>
<p>und so weiter</p>
<p>Leider fällt mir jetzt keine gute Beschreibung ein</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1478940</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1478940</guid><dc:creator><![CDATA[evilissimo]]></dc:creator><pubDate>Sat, 22 Mar 2008 22:08:02 GMT</pubDate></item><item><title><![CDATA[Reply to Iterator - .end() zeigt auf das Element &#x27;HINTER&#x27; dem letzten Element on Sat, 22 Mar 2008 22:19:55 GMT]]></title><description><![CDATA[<p>Stromberg schrieb:</p>
<blockquote>
<p>Wie ist das zu verstehen, das .end() auf das Element 'HINTER' dem letzten zeigt. Ich mein &quot;hinter dem letzten Element&quot; kanns doch kein weiters mehr geben? Auf was zeigt es dann? Ich versteh schon wie mans anwendet, nur mir das vorzustellen is bissel schwierig. Kann mir jemand auf die Sprünge helfen?</p>
<p>MfG<br />
Stromberg</p>
</blockquote>
<p>Auf was der Iterator zeigt ist unterschiedlich. In einem Array zeigt er einfach auf die nächste Speicherzelle hinter dem array, also fremden Speicher.<br />
In einer Liste oder einem Baum gibt es oftmals sogar ein echtes &quot;end&quot;- Element. Das ist dann das Element hinter dem letzten Datenelement.</p>
<p>In der Theorie ist das aber nicht von belang. Du musst dir Container für die iteratordarstellung wie Warteschlangen vorstellen. Wenn du vorne ein Schild stehen hast: hier beginnt die Schlange, dann steht hinten ein Schild: hier bitte anstellen. Das erste Schild ist der begin() iterator, das schild am Ende der end(&quot;hier ist die position an der sich der nächste stellen müsste, der sich anstellen will&quot;).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1478946</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1478946</guid><dc:creator><![CDATA[otze]]></dc:creator><pubDate>Sat, 22 Mar 2008 22:19:55 GMT</pubDate></item></channel></rss>