<?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++]]></title><description><![CDATA[<p>Was passiert da denn genau eigentlich? Ich check dass ned, vorallem warum sowas überhaupt geht.</p>
<pre><code class="language-cpp">vector&lt;string&gt; temp;
temp.push_back(&quot;Boing&quot;);
temp.push_back(&quot;Dolo-Dobendan&quot;);
temp.push_back(&quot;Depp&quot;);
temp.push_back(&quot;Computer&quot;);
vector&lt;string&gt;::iterator iter = temp.begin();
cout &lt;&lt; *iter++ &lt;&lt; endl; //Warum geht das? Bzw. was wird da eigl. gemacht?
</code></pre>
<p>&quot;*&quot; hat doch eine höhere Priorität als &quot;++&quot; oder? Also kommt dass als erstes dran. -&gt; &quot;*iter&quot; so jetzt ist ganz normal der string &quot;boing&quot; da -&gt; wird nun mit &quot;++&quot; inkrementiert. ABER: Man kann doch gar keine Strings inkrementieren oder?<br />
Weil dass hier geht bei mir z.B. ned:</p>
<pre><code class="language-cpp">string a = &quot;Marmelade&quot;;
cout &lt;&lt; a++ &lt;&lt; endl;
</code></pre>
<p>Oder hab ich irgendwie einen Denkfehler? (Meine ganze Verwirrtheit ist auf eine Übung aus dem C++ Primer [5.19] zurückzuführen)</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/234712/iterator</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 08:11:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/234712.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 21 Feb 2009 14:38:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to *iterator++ on Sat, 21 Feb 2009 14:38:55 GMT]]></title><description><![CDATA[<p>Was passiert da denn genau eigentlich? Ich check dass ned, vorallem warum sowas überhaupt geht.</p>
<pre><code class="language-cpp">vector&lt;string&gt; temp;
temp.push_back(&quot;Boing&quot;);
temp.push_back(&quot;Dolo-Dobendan&quot;);
temp.push_back(&quot;Depp&quot;);
temp.push_back(&quot;Computer&quot;);
vector&lt;string&gt;::iterator iter = temp.begin();
cout &lt;&lt; *iter++ &lt;&lt; endl; //Warum geht das? Bzw. was wird da eigl. gemacht?
</code></pre>
<p>&quot;*&quot; hat doch eine höhere Priorität als &quot;++&quot; oder? Also kommt dass als erstes dran. -&gt; &quot;*iter&quot; so jetzt ist ganz normal der string &quot;boing&quot; da -&gt; wird nun mit &quot;++&quot; inkrementiert. ABER: Man kann doch gar keine Strings inkrementieren oder?<br />
Weil dass hier geht bei mir z.B. ned:</p>
<pre><code class="language-cpp">string a = &quot;Marmelade&quot;;
cout &lt;&lt; a++ &lt;&lt; endl;
</code></pre>
<p>Oder hab ich irgendwie einen Denkfehler? (Meine ganze Verwirrtheit ist auf eine Übung aus dem C++ Primer [5.19] zurückzuführen)</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1667573</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1667573</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Sat, 21 Feb 2009 14:38:55 GMT</pubDate></item><item><title><![CDATA[Reply to *iterator++ on Sat, 21 Feb 2009 14:41:04 GMT]]></title><description><![CDATA[<p>mh<br />
wenn ders compiled was wird denn dann ausgegeben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1667576</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1667576</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Sat, 21 Feb 2009 14:41:04 GMT</pubDate></item><item><title><![CDATA[Reply to *iterator++ on Sat, 21 Feb 2009 14:41:22 GMT]]></title><description><![CDATA[<p>Alternativ</p>
<pre><code>*iter = *iter + 1;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1667577</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1667577</guid><dc:creator><![CDATA[Scheppertreiber]]></dc:creator><pubDate>Sat, 21 Feb 2009 14:41:22 GMT</pubDate></item><item><title><![CDATA[Reply to *iterator++ on Sat, 21 Feb 2009 14:48:57 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/18806">@Skym0sh0</a><br />
Es wird ganz normal &quot;Boing&quot; ausgegeben, so als ob er das &quot;++&quot; gar nich beachten würde.</p>
<p>Versteht jemand was der da macht? Bzw. warum das möglich ist, und keinen Error gibt?</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1667582</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1667582</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Sat, 21 Feb 2009 14:48:57 GMT</pubDate></item><item><title><![CDATA[Reply to *iterator++ on Sat, 21 Feb 2009 14:54:50 GMT]]></title><description><![CDATA[<p>Der * - Operator hat eine höhere Priorität, ist allerdings rechtsbindend..</p>
<p>Das bedeutet in dem Fall hier, dass das so ausgewerter wird:</p>
<pre><code class="language-cpp">*(iter++)
</code></pre>
<p>Und da du hier postinkrement benutzt, ist der Wert von iter++ immernoch begin.</p>
<p>Wenn du preinkrement machst, hast du das nächste Element..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1667586</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1667586</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 21 Feb 2009 14:54:50 GMT</pubDate></item><item><title><![CDATA[Reply to *iterator++ on Sat, 21 Feb 2009 16:24:27 GMT]]></title><description><![CDATA[<p><strong>@alle</strong><br />
Wo steht eigentlich, dass der *-Operator höhere Priorität als die jeweiligen Inkrement/Dekrement-Operatoren hat?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1667633</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1667633</guid><dc:creator><![CDATA[Kritiker]]></dc:creator><pubDate>Sat, 21 Feb 2009 16:24:27 GMT</pubDate></item><item><title><![CDATA[Reply to *iterator++ on Sat, 21 Feb 2009 16:29:23 GMT]]></title><description><![CDATA[<p>Kritiker schrieb:</p>
<blockquote>
<p><strong>@alle</strong><br />
Wo steht eigentlich, dass der *-Operator höhere Priorität als die jeweiligen Inkrement/Dekrement-Operatoren hat?</p>
</blockquote>
<p>Hat er doch gar nicht? <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1667638</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1667638</guid><dc:creator><![CDATA[Confusiert]]></dc:creator><pubDate>Sat, 21 Feb 2009 16:29:23 GMT</pubDate></item><item><title><![CDATA[Reply to *iterator++ on Sat, 21 Feb 2009 16:31:55 GMT]]></title><description><![CDATA[<p>Confusiert schrieb:</p>
<blockquote>
<p>Kritiker schrieb:</p>
<blockquote>
<p><strong>@alle</strong><br />
Wo steht eigentlich, dass der *-Operator höhere Priorität als die jeweiligen Inkrement/Dekrement-Operatoren hat?</p>
</blockquote>
<p>Hat er doch gar nicht? <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>
</blockquote>
<p>Stimmt. Ich habe mich da vertan..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1667639</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1667639</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 21 Feb 2009 16:31:55 GMT</pubDate></item><item><title><![CDATA[Reply to *iterator++ on Sat, 21 Feb 2009 16:35:45 GMT]]></title><description><![CDATA[<p>Stromberg schrieb:</p>
<blockquote>
<p>&quot;*&quot; hat doch eine höhere Priorität als &quot;++&quot; oder?</p>
</blockquote>
<p>drakon  schrieb:</p>
<blockquote>
<p>Der * - Operator hat eine höhere Priorität, ist allerdings rechtsbindend..</p>
</blockquote>
<p>@Confusiert<br />
Ist deine Konfusion auf den Operator bezogen, oder auf meine Behauptung? Weiß jetzt nicht was du meinst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1667643</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1667643</guid><dc:creator><![CDATA[Kritiker]]></dc:creator><pubDate>Sat, 21 Feb 2009 16:35:45 GMT</pubDate></item><item><title><![CDATA[Reply to *iterator++ on Sat, 21 Feb 2009 16:36:56 GMT]]></title><description><![CDATA[<p>Es würde übrigens auch nicht durch einen String iteriert, so wie im Beispiel von dir, sondern durch einen Vektor der Strings enthält. Ob der Strings, Integer oder was anderes enthält ist egal. Es wird durch einen Container iteriert der Daten enthält.</p>
<blockquote>
<p>string a = &quot;Marmelade&quot;;<br />
cout &lt;&lt; a++ &lt;&lt; endl;</p>
</blockquote>
<p>Dieses Beispiel ist natürlich Unsinn. Wo soll der denn als nächstes hin springen?<br />
Du kannst einzelne Elemente (Zeichen) des Strings ansprechen, sowohl das auch anders funktioniert. Doch die Variable a ist der komplette String, und die sprichst du an mit cout &lt;&lt; a. Danach weiß weder der Compiler, noch du oder ich wohin es danach gehen sollte.</p>
<p>*iter zeigt auf den Anfang (.begin) und das wird an cout übergeben, dann wird Inkrementiert. Probiere das mal mit einer Hilfsvariable.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1667644</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1667644</guid><dc:creator><![CDATA[QuakSalbei]]></dc:creator><pubDate>Sat, 21 Feb 2009 16:36:56 GMT</pubDate></item><item><title><![CDATA[Reply to *iterator++ on Tue, 24 Feb 2009 13:58:17 GMT]]></title><description><![CDATA[<p>Scheppertreiber schrieb:</p>
<blockquote>
<p>Alternativ</p>
<pre><code>*iter = *iter + 1;
</code></pre>
</blockquote>
<p>Sicher???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1669350</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1669350</guid><dc:creator><![CDATA[jencas]]></dc:creator><pubDate>Tue, 24 Feb 2009 13:58:17 GMT</pubDate></item></channel></rss>