<?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 iterator]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgende Frage:</p>
<p>Ich habe einen vector gegeben und möchte jeweils immer zwei Werte miteinander vergleichen.</p>
<p>Also:<br />
(0,1)...(0,n)<br />
dann<br />
(1,2)...(1,n)<br />
...<br />
(n-1,n)</p>
<p>Wie definiere ich nun die for Bedingung der Schleife mit Hilfe von Iteratoren damit das erfüllt ist?</p>
<p>Ich hatte sowas versucht, aber da läuft er alle möglichen Kombinationen durch,dass würde ich gerne vermeiden.</p>
<pre><code>for(vector&lt;double&gt;::iterator iv = xDirVec.begin(), vector&lt;double&gt;::iterator ivv = iv+1; iv!= xDirVec.end()-1; iv++, ivv++, ivv%=xDirVec.end())
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/223962/vector-iterator</link><generator>RSS for Node</generator><lastBuildDate>Sat, 03 Oct 2026 12:53:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/223962.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 03 Oct 2008 10:31:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to vector iterator on Fri, 03 Oct 2008 10:31:26 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgende Frage:</p>
<p>Ich habe einen vector gegeben und möchte jeweils immer zwei Werte miteinander vergleichen.</p>
<p>Also:<br />
(0,1)...(0,n)<br />
dann<br />
(1,2)...(1,n)<br />
...<br />
(n-1,n)</p>
<p>Wie definiere ich nun die for Bedingung der Schleife mit Hilfe von Iteratoren damit das erfüllt ist?</p>
<p>Ich hatte sowas versucht, aber da läuft er alle möglichen Kombinationen durch,dass würde ich gerne vermeiden.</p>
<pre><code>for(vector&lt;double&gt;::iterator iv = xDirVec.begin(), vector&lt;double&gt;::iterator ivv = iv+1; iv!= xDirVec.end()-1; iv++, ivv++, ivv%=xDirVec.end())
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1592835</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1592835</guid><dc:creator><![CDATA[rafilis1982]]></dc:creator><pubDate>Fri, 03 Oct 2008 10:31:26 GMT</pubDate></item><item><title><![CDATA[Reply to vector iterator on Fri, 03 Oct 2008 12:08:37 GMT]]></title><description><![CDATA[<p>Hi,</p>
<pre><code class="language-cpp">for(vec_iter it = vec.begin(); it != vec.end(); ++it)
    for(vec_iter it2 = it+1; it2 != vec.end(); ++it2) ...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1592896</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1592896</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 03 Oct 2008 12:08:37 GMT</pubDate></item><item><title><![CDATA[Reply to vector iterator on Fri, 03 Oct 2008 13:25:48 GMT]]></title><description><![CDATA[<p>Vielen Dank <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>Aber mal eine andere Frage:</p>
<p>Ich musste den vector jetzt durch eine Map ersetzen:</p>
<pre><code>for(map&lt;pair&lt;double,QString&gt;,pair&lt;double,double&gt;&gt;::iterator xFirst = xDirMap.begin(); xFirst!= xDirMap.end()-1; xFirst++)
	{
		for(map&lt;pair&lt;double,QString&gt;,pair&lt;double,double&gt;&gt;::iterator xSecond = xFirst+1; xSecond != xDirMap.end(); xSecond++)
		{...
</code></pre>
<p>Das -1/+1 mag er nicht.</p>
<p>Wie kann ich dem Compiler sagen, er soll in der ersten Schleife beim vorletzten Eintrag aufhören und in der zweiten Schleife eine Position nach dem Iterator aus der ersten Schleife starten?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1592945</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1592945</guid><dc:creator><![CDATA[rafilis1982]]></dc:creator><pubDate>Fri, 03 Oct 2008 13:25:48 GMT</pubDate></item><item><title><![CDATA[Reply to vector iterator on Fri, 03 Oct 2008 13:50:54 GMT]]></title><description><![CDATA[<p>Bidirektionale Iteratoren, wie sie in assoziativen Containern vorliegen, unterstützen die arithmetischen Operatoren +, - (und folglich auch +=, -=) nicht. Sie können nur inkrementiert oder dekrementiert werden (++, --). Alternativ kann man z.B. <code>std::advance</code> einsetzen, um manuell zu verschieben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1592959</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1592959</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 03 Oct 2008 13:50:54 GMT</pubDate></item><item><title><![CDATA[Reply to vector iterator on Fri, 03 Oct 2008 14:12:12 GMT]]></title><description><![CDATA[<p>Vielen Dank für den Tip.</p>
<p>Die Schwierigkeit eine Postion nach dem ersten Iterator zu starten hab ich somit gelöst:</p>
<pre><code>advance(xSecond,distance(xFirst,xDirMap.begin())+1);
</code></pre>
<p>Aber wie kann ich erreichen das die erste Schleife beim vorletzten Eintrag terminiert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1592975</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1592975</guid><dc:creator><![CDATA[rafilis1982]]></dc:creator><pubDate>Fri, 03 Oct 2008 14:12:12 GMT</pubDate></item><item><title><![CDATA[Reply to vector iterator on Fri, 03 Oct 2008 14:20:34 GMT]]></title><description><![CDATA[<p>Ok, Problem gerade gelöst <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1592982</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1592982</guid><dc:creator><![CDATA[rafilis1982]]></dc:creator><pubDate>Fri, 03 Oct 2008 14:20:34 GMT</pubDate></item><item><title><![CDATA[Reply to vector iterator on Fri, 03 Oct 2008 14:47:38 GMT]]></title><description><![CDATA[<p>Vlt noch ne Anschlussfrage:</p>
<p>Wie kann ich eine Map, nach einem meiner beiden Keys sortieren lassen, in dem Fall dem double wert?</p>
<pre><code>map&lt;pair&lt;double,QString&gt;,pair&lt;double,double&gt;&gt;
</code></pre>
<p>Mit vectoren ging es mit sort</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1592996</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1592996</guid><dc:creator><![CDATA[rafilis1982]]></dc:creator><pubDate>Fri, 03 Oct 2008 14:47:38 GMT</pubDate></item><item><title><![CDATA[Reply to vector iterator on Fri, 03 Oct 2008 14:50:14 GMT]]></title><description><![CDATA[<p>rafilis1982 schrieb:</p>
<blockquote>
<p>Wie kann ich eine Map, nach einem meiner beiden Keys sortieren lassen, in dem Fall dem double wert?</p>
</blockquote>
<p>Du solltest dir vielleicht noch einmal <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-143816.html" rel="nofollow">genauer</a> ansehen, was eine Map ist. Diese ist nämlich ständig sortiert, und zwar immer nach dem Key. Die Sortierbedingung kann man zusätzlich als Funktor angeben, ansonsten wird auf den <code>operator&lt;</code> zurückgegriffen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1592997</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1592997</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 03 Oct 2008 14:50:14 GMT</pubDate></item></channel></rss>