<?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[std::vector iterator und insert?]]></title><description><![CDATA[<p>Hallo,</p>
<p>habe einen Vector XXX mit 10 elementen! Nun will ich immer zwischen den Elementen im reisverschlussverfahren ein neues einfügen</p>
<p>Vorher : 1,2,3,4,5,6,7,8,9,10 (10 elemente)</p>
<p>Nacher : 1,a,2,b,3,c,4,d,5,e,6,f,7,g,8,h,9,i,10 (9 elemente)</p>
<p>Wie kann ich das via iterator umsetzen , mir verhauts immer den iterator!!</p>
<pre><code class="language-cpp">for(std::vector&lt;...&gt;::iterator it=  XXX .begin(); it !=  XXX .end(); it++,i++){

		 XXX .insert(it++,(i+10));
	}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/193566/std-vector-iterator-und-insert</link><generator>RSS for Node</generator><lastBuildDate>Mon, 28 Sep 2026 02:18:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/193566.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 27 Sep 2007 09:57:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to std::vector iterator und insert? on Thu, 27 Sep 2007 09:57:39 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>habe einen Vector XXX mit 10 elementen! Nun will ich immer zwischen den Elementen im reisverschlussverfahren ein neues einfügen</p>
<p>Vorher : 1,2,3,4,5,6,7,8,9,10 (10 elemente)</p>
<p>Nacher : 1,a,2,b,3,c,4,d,5,e,6,f,7,g,8,h,9,i,10 (9 elemente)</p>
<p>Wie kann ich das via iterator umsetzen , mir verhauts immer den iterator!!</p>
<pre><code class="language-cpp">for(std::vector&lt;...&gt;::iterator it=  XXX .begin(); it !=  XXX .end(); it++,i++){

		 XXX .insert(it++,(i+10));
	}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1373723</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1373723</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Thu, 27 Sep 2007 09:57:39 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector iterator und insert? on Thu, 27 Sep 2007 10:02:35 GMT]]></title><description><![CDATA[<p>insert() invalidiert die Iteratoren ab der Einfügeposition (bei einem Kapazitäts-Überlauf alle - dagegen hilft im Zweifelsfall ein reserve). Also wäre es vielleicht eine Lösung, die neuen Elemente von hinten einzufügen.</p>
<p>PS: Wozu soll das gut sein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1373726</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1373726</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 27 Sep 2007 10:02:35 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector iterator und insert? on Thu, 27 Sep 2007 10:12:50 GMT]]></title><description><![CDATA[<p>ja wollte elemente nachträglich einfügen, aber muss sie wohl doch anfangs abwechseln pushen... schwer zu erklärne wofür das gut ist;)</p>
<p>wäre aber trozdem gut, wenn es klappen würde...<br />
EDIT: wird beim inserten, der vector nich verlängert?</p>
<p>EDIT 2: so klappt;)</p>
<pre><code class="language-cpp">for(std::vector&lt;...&gt;::iterator it=  XXX .begin(); it !=  XXX .end()-1; it++,i++){ 

         it= XXX .insert(++it,(i+10)); 
    }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1373727</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1373727</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Thu, 27 Sep 2007 10:12:50 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector iterator und insert? on Thu, 27 Sep 2007 10:22:34 GMT]]></title><description><![CDATA[<p>Du könntest ihn doch vorher schon auf die richtige Größe bringen und dann in einem Rutsch Elemente hinzufügen und die alten verschieben:</p>
<pre><code class="language-cpp">int main(int argc, char *argv[])
{
	// Original-Vektor
	vector&lt;char&gt; nums;
	for ( char i=1; i&lt;11; i++ )
		nums.push_back( i );

	// Elemente einfügen ('a' bis 'i')
	nums.resize( nums.size()*2 - 1 );
	char to_insert = 'i';
	for ( vector&lt;char&gt;::iterator old_one=nums.begin()+9, new_one=nums.end()-1; old_one&gt;nums.begin(); old_one--, new_one-=2 )
	{
		*new_one = *old_one;
		*(new_one-1) = to_insert--;
	}

	// Vektor ausgeben
	for ( size_t i=0; i&lt;nums.size(); i++ )
		cout &lt;&lt; (int)(nums[i]) &lt;&lt; &quot; &quot;;
	cout &lt;&lt; endl;
	return 0;
}
</code></pre>
<p>oh, zu spät... na gut..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1373734</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1373734</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Thu, 27 Sep 2007 10:22:34 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector iterator und insert? on Thu, 27 Sep 2007 10:21:33 GMT]]></title><description><![CDATA[<p>BorisDieKlinge schrieb:</p>
<blockquote>
<p>EDIT: wird beim inserten, der vector nich verlängert?</p>
</blockquote>
<p>Ja, wird er - und weil die vector-Elemente hintereinander im Speicher stehen, passiert das, indem alle Elemente nach der Einfügeposition nach hinten verschoben werden (und notfalls neuer Speicher angefordert wird).</p>
<p>PS: Wenn du häufiger Elemente in den Container reinquetschen willst, ist evt. eine std::list geeigneter.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1373735</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1373735</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 27 Sep 2007 10:21:33 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector iterator und insert? on Thu, 27 Sep 2007 10:43:18 GMT]]></title><description><![CDATA[<p>ne war schon durchdachte, der vector wird anfangst entsprechen paramter erstellt, und dann nun noch kopiert! somit hat das keine auswirkung auf performance:) sonst würd ich schon ne liste nehmen_:)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1373753</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1373753</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Thu, 27 Sep 2007 10:43:18 GMT</pubDate></item></channel></rss>