<?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[Vector&amp;lt;string&amp;gt; mit iterator durchlaufen, stehe auf dem schlauch]]></title><description><![CDATA[<p>Hallo, hier erstmal der folgende simple code:</p>
<pre><code class="language-cpp">vector&lt;string&gt;::iterator it = ActionVector.begin()+1;
for(;(it -&gt; find(&quot;BeginAction&quot;) == string::npos) and (it &lt; ActionVector.end());it++);
</code></pre>
<p>wenn ich diese for schleife verwende läuft it anscheinend aus dem gültigkeitsbereich hinaus. Wenn ich die gleiche Schleife ohne den &quot;it -&gt; find(&quot;BeginAction&quot;...)&quot; krams benutze und nur &quot;it&lt; ActionVector.end()&quot; verwende funktioniert sie und it bleibt im gültigkeitsbereich.<br />
Wie kann das sein? Das and müsste ja wenn überhaupt zu einer geringeren Wiederholungszahl der Schleife führen. Woher kommt das Überschreiten der Gültigkeit von it?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/296256/vector-lt-string-gt-mit-iterator-durchlaufen-stehe-auf-dem-schlauch</link><generator>RSS for Node</generator><lastBuildDate>Sat, 15 Aug 2026 00:08:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/296256.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 30 Nov 2011 21:18:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vector&amp;lt;string&amp;gt; mit iterator durchlaufen, stehe auf dem schlauch on Wed, 30 Nov 2011 21:18:41 GMT]]></title><description><![CDATA[<p>Hallo, hier erstmal der folgende simple code:</p>
<pre><code class="language-cpp">vector&lt;string&gt;::iterator it = ActionVector.begin()+1;
for(;(it -&gt; find(&quot;BeginAction&quot;) == string::npos) and (it &lt; ActionVector.end());it++);
</code></pre>
<p>wenn ich diese for schleife verwende läuft it anscheinend aus dem gültigkeitsbereich hinaus. Wenn ich die gleiche Schleife ohne den &quot;it -&gt; find(&quot;BeginAction&quot;...)&quot; krams benutze und nur &quot;it&lt; ActionVector.end()&quot; verwende funktioniert sie und it bleibt im gültigkeitsbereich.<br />
Wie kann das sein? Das and müsste ja wenn überhaupt zu einer geringeren Wiederholungszahl der Schleife führen. Woher kommt das Überschreiten der Gültigkeit von it?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2151251</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2151251</guid><dc:creator><![CDATA[Namenloser342]]></dc:creator><pubDate>Wed, 30 Nov 2011 21:18:41 GMT</pubDate></item><item><title><![CDATA[Reply to Vector&amp;lt;string&amp;gt; mit iterator durchlaufen, stehe auf dem schlauch on Wed, 30 Nov 2011 21:22:53 GMT]]></title><description><![CDATA[<p>Statt</p>
<pre><code class="language-cpp">vector&lt;string&gt;::iterator it = ActionVector.begin()+1;
for(;(it -&gt; find(&quot;BeginAction&quot;) == string::npos) and (it &lt; ActionVector.end());it++);
</code></pre>
<p>besser</p>
<pre><code class="language-cpp">vector&lt;string&gt;::iterator it = ActionVector.begin()+1;
for(;(it &lt; ActionVector.end()) and (it -&gt; find(&quot;BeginAction&quot;) == string::npos);it++);
</code></pre>
<p><a href="http://de.wikipedia.org/wiki/Kurzschlussauswertung" rel="nofollow">http://de.wikipedia.org/wiki/Kurzschlussauswertung</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2151252</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2151252</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Wed, 30 Nov 2011 21:22:53 GMT</pubDate></item><item><title><![CDATA[Reply to Vector&amp;lt;string&amp;gt; mit iterator durchlaufen, stehe auf dem schlauch on Wed, 30 Nov 2011 22:15:49 GMT]]></title><description><![CDATA[<p>Danke, daran erinnere ich mich jetzt auch gerade, hatten wir im C-Kurs an der Uni.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2151270</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2151270</guid><dc:creator><![CDATA[Namenloser342]]></dc:creator><pubDate>Wed, 30 Nov 2011 22:15:49 GMT</pubDate></item><item><title><![CDATA[Reply to Vector&amp;lt;string&amp;gt; mit iterator durchlaufen, stehe auf dem schlauch on Thu, 01 Dec 2011 13:46:09 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>Statt</p>
<pre><code class="language-cpp">vector&lt;string&gt;::iterator it = ActionVector.begin()+1;
for(;(it -&gt; find(&quot;BeginAction&quot;) == string::npos) and (it &lt; ActionVector.end());it++);
</code></pre>
<p>besser</p>
<pre><code class="language-cpp">vector&lt;string&gt;::iterator it = ActionVector.begin()+1;
for(;(it &lt; ActionVector.end()) and (it -&gt; find(&quot;BeginAction&quot;) == string::npos);it++);
</code></pre>
<p><a href="http://de.wikipedia.org/wiki/Kurzschlussauswertung" rel="nofollow">http://de.wikipedia.org/wiki/Kurzschlussauswertung</a></p>
</blockquote>
<p>Sollte besser <code>it != ActionVector.end()</code> sein, damit man bei Containeränderung nicht Performance verliert.</p>
<p>Aber ne Frage zu der &quot;kursschlussauswertung&quot;, ist das so vom Standard garantiert, dass die Auswertung des zweiten Terms nur erfolgt, wenn die Auswertung des ersten Terms true ergeben hat?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2151494</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2151494</guid><dc:creator><![CDATA[bmario_]]></dc:creator><pubDate>Thu, 01 Dec 2011 13:46:09 GMT</pubDate></item><item><title><![CDATA[Reply to Vector&amp;lt;string&amp;gt; mit iterator durchlaufen, stehe auf dem schlauch on Thu, 01 Dec 2011 13:50:44 GMT]]></title><description><![CDATA[<p>bmario_ schrieb:</p>
<blockquote>
<p>Aber ne Frage zu der &quot;kursschlussauswertung&quot;, ist das so vom Standard garantiert, dass die Auswertung des zweiten Terms nur erfolgt, wenn die Auswertung des ersten Terms true ergeben hat?</p>
</blockquote>
<p>Ja. Steht direkt beim logischen Und-Operator.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2151497</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2151497</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Thu, 01 Dec 2011 13:50:44 GMT</pubDate></item><item><title><![CDATA[Reply to Vector&amp;lt;string&amp;gt; mit iterator durchlaufen, stehe auf dem schlauch on Fri, 02 Dec 2011 16:27:37 GMT]]></title><description><![CDATA[<p>bmario_ schrieb:</p>
<blockquote>
<p>Sollte besser <code>it != ActionVector.end()</code> sein, damit man bei Containeränderung nicht Performance verliert.</p>
</blockquote>
<p>Wird ein Iterator bei einer Containeränderung nicht sowieso ungültig?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2152003</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2152003</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 02 Dec 2011 16:27:37 GMT</pubDate></item><item><title><![CDATA[Reply to Vector&amp;lt;string&amp;gt; mit iterator durchlaufen, stehe auf dem schlauch on Fri, 02 Dec 2011 16:41:30 GMT]]></title><description><![CDATA[<p>Gugelmoser schrieb:</p>
<blockquote>
<p>bmario_ schrieb:</p>
<blockquote>
<p>Sollte besser <code>it != ActionVector.end()</code> sein, damit man bei Containeränderung nicht Performance verliert.</p>
</blockquote>
<p>Wird ein Iterator bei einer Containeränderung nicht sowieso ungültig?</p>
</blockquote>
<p>Das war nicht gemeint.<br />
Sondern, wenn man den Code ändert und aus dem vector eine zum Beispiel list macht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2152010</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2152010</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 02 Dec 2011 16:41:30 GMT</pubDate></item></channel></rss>