<?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[Container:Vector]]></title><description><![CDATA[<p>Hi,<br />
habe da mal eine frage bezüglich vectoren.</p>
<p>wenn ich in einem vectore mehrere elemente (egal von welchen datentyp) mit vector.push_back(element) abgelegt habe und dann mittels iteratoren den vector durchlaufe und nach einem element suchen lasse und danach dieses okjekt mittels vector.erase(zusuchendeselement) lösche, muss ich dann die iteratoren wieder neu initialieseren oder schafft der container es dann den vector noch weiter bzw von anfang an durchzulaufen ?</p>
<p>hoffe ihr versteht was ich meine. wenn nicht muss ich mal nen code zusammenbasteln. hab den code nämlich momentan nur in einem komplexeren programm.</p>
<p>danke schonmal für hilfreiche antworten</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/226690/container-vector</link><generator>RSS for Node</generator><lastBuildDate>Wed, 30 Sep 2026 15:00:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/226690.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 04 Nov 2008 17:56:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Container:Vector on Tue, 04 Nov 2008 17:56:33 GMT]]></title><description><![CDATA[<p>Hi,<br />
habe da mal eine frage bezüglich vectoren.</p>
<p>wenn ich in einem vectore mehrere elemente (egal von welchen datentyp) mit vector.push_back(element) abgelegt habe und dann mittels iteratoren den vector durchlaufe und nach einem element suchen lasse und danach dieses okjekt mittels vector.erase(zusuchendeselement) lösche, muss ich dann die iteratoren wieder neu initialieseren oder schafft der container es dann den vector noch weiter bzw von anfang an durchzulaufen ?</p>
<p>hoffe ihr versteht was ich meine. wenn nicht muss ich mal nen code zusammenbasteln. hab den code nämlich momentan nur in einem komplexeren programm.</p>
<p>danke schonmal für hilfreiche antworten</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1610186</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1610186</guid><dc:creator><![CDATA[jontef]]></dc:creator><pubDate>Tue, 04 Nov 2008 17:56:33 GMT</pubDate></item><item><title><![CDATA[Reply to Container:Vector on Tue, 04 Nov 2008 18:27:35 GMT]]></title><description><![CDATA[<p>Ja, das ist so ein Ding...</p>
<p><a href="http://www.google.at/search?hl=de&amp;q=c%2B%2B+reference+vector&amp;meta=" rel="nofollow">http://www.google.at/search?hl=de&amp;q=c%2B%2B+reference+vector&amp;meta=</a></p>
<p>erase() ist so nett und gibt dir einen gültigen Iterator auf das nächste Element zurück.</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1610217</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1610217</guid><dc:creator><![CDATA[Johnson]]></dc:creator><pubDate>Tue, 04 Nov 2008 18:27:35 GMT</pubDate></item><item><title><![CDATA[Reply to Container:Vector on Tue, 04 Nov 2008 18:54:56 GMT]]></title><description><![CDATA[<p>ok , also ich denke ich habe es verstanden. wenn ein element in mitten aus einem vector gelöscht wird, verschieben sich die hinteren objekte nach vorne und mit dem halt auch das ende des vector. würde man also dann den zeiger auf das ende nicht neu festlegen, würde das programm abstürzen. aus dem grund sollte man einen vector eher wie ein feld behandeln wie folgendes beispiel zeigt</p>
<pre><code>// erasing from vector
#include &lt;iostream&gt;
#include &lt;vector&gt;
using namespace std;

int main ()
{
  unsigned int i;
  vector&lt;unsigned int&gt; myvector;

  // set some values (from 1 to 10)
  for (i=1; i&lt;=10; i++) myvector.push_back(i);

  // erase the 6th element
  myvector.erase (myvector.begin()+5);

  // erase the first 3 elements:
  myvector.erase (myvector.begin(),myvector.begin()+3);

  cout &lt;&lt; &quot;myvector contains:&quot;;
  for (i=0; i&lt;myvector.size(); i++)
    cout &lt;&lt; &quot; &quot; &lt;&lt; myvector[i];
  cout &lt;&lt; endl;

  return 0;
}
</code></pre>
<p>oder hab ich da jetzt was falsch verstanden ? berichtigt mich wenn ich hier was falsches sage.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1610233</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1610233</guid><dc:creator><![CDATA[jontef]]></dc:creator><pubDate>Tue, 04 Nov 2008 18:54:56 GMT</pubDate></item><item><title><![CDATA[Reply to Container:Vector on Tue, 04 Nov 2008 19:24:31 GMT]]></title><description><![CDATA[<p>jontef schrieb:</p>
<blockquote>
<p>aus dem grund sollte man einen vector eher wie ein feld behandeln</p>
</blockquote>
<p>Vielleicht auch aus dem Grund, weil <code>std::vector</code> intern tatsächlich ein Array (Feld) verwaltet.</p>
<p>Aber wie gesagt, wenn du durchiterierst (mit Iteratoren), kannst du den Rückgabewert von <code>erase()</code> verwenden, um zum nächsten gültigen Element zu kommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1610247</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1610247</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 04 Nov 2008 19:24:31 GMT</pubDate></item></channel></rss>