<?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 Lücke nach Element Löschen schließen]]></title><description><![CDATA[<p>Also wie es im Titel bereits steht, ich weiß nicht wirklich wie ich die Lücke, die durch das Löschen mit Erease wohl unweigerlich entsteht, wieder schließe. Das löschen klappt wunderbar, doch benutze ich dann den Vector weiter und wenn nun ein Durchlauf gestartet wird gibts ne Exception wenn er an der Lücke ankommt.</p>
<p>Also meine Frage ist, wie ich die Lücke wieder geschlossen bekomme, oder welche Alternativen ich habe.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/201321/std-vector-lücke-nach-element-löschen-schließen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 05 Oct 2026 19:42:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/201321.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 27 Dec 2007 23:54:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to std::vector Lücke nach Element Löschen schließen on Thu, 27 Dec 2007 23:55:11 GMT]]></title><description><![CDATA[<p>Also wie es im Titel bereits steht, ich weiß nicht wirklich wie ich die Lücke, die durch das Löschen mit Erease wohl unweigerlich entsteht, wieder schließe. Das löschen klappt wunderbar, doch benutze ich dann den Vector weiter und wenn nun ein Durchlauf gestartet wird gibts ne Exception wenn er an der Lücke ankommt.</p>
<p>Also meine Frage ist, wie ich die Lücke wieder geschlossen bekomme, oder welche Alternativen ich habe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1427069</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1427069</guid><dc:creator><![CDATA[Kevinus]]></dc:creator><pubDate>Thu, 27 Dec 2007 23:55:11 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector Lücke nach Element Löschen schließen on Thu, 27 Dec 2007 23:58:17 GMT]]></title><description><![CDATA[<p>Naja zum rauslöschen eignet sich eigtl. besser eine std::list ... ansonsten kannst du ja einfach mal die Daten verschieben (performance ist im Arsch <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/1427072</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1427072</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Thu, 27 Dec 2007 23:58:17 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector Lücke nach Element Löschen schließen on Fri, 28 Dec 2007 09:12:54 GMT]]></title><description><![CDATA[<p>Ok danke ich werd mal schauen was bei einer std::list anders ist und werd sie vermutlich dann auch einsetzen, denn es wird ein größeres Projekt, wo die Performance zwar nicht perfekt sein muss, aber schon in einem geregelten Rahmen bleibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1427125</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1427125</guid><dc:creator><![CDATA[Kevinus]]></dc:creator><pubDate>Fri, 28 Dec 2007 09:12:54 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector Lücke nach Element Löschen schließen on Fri, 28 Dec 2007 10:25:04 GMT]]></title><description><![CDATA[<p>Entschuldigung für den Doppelpost, aber ich habe grad std::list probiert und komme damit irgendwie rein gar nicht klar, also meine Frage, ist es nicht irgendwie möglich das &quot;Loch&quot;, welches durch das Löschen eines Elements in einem Vector entsteht zu schließen, natürlich kann ich durch einen zweiten Vector und einiges an Kopierarbeit das auch erledigen, aber performant ist was anderes, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1427149</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1427149</guid><dc:creator><![CDATA[Kevinus]]></dc:creator><pubDate>Fri, 28 Dec 2007 10:25:04 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector Lücke nach Element Löschen schließen on Fri, 28 Dec 2007 10:32:04 GMT]]></title><description><![CDATA[<p>was für ein loch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1427151</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1427151</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Fri, 28 Dec 2007 10:32:04 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector Lücke nach Element Löschen schließen on Fri, 28 Dec 2007 10:38:20 GMT]]></title><description><![CDATA[<p>Naja wenn ich irgendwo in einem vector etwas lösche, dann ist ja dort nichts mehr, die darauffolgenden Werte rutschen nicht nach, dadurch kommt es dazu, dass wenn ich den vector durchlaufe, um z.B. Werte zu speichern, an dieser undefinierten Stelle eine Exception geworfen wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1427157</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1427157</guid><dc:creator><![CDATA[Kevinus]]></dc:creator><pubDate>Fri, 28 Dec 2007 10:38:20 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector Lücke nach Element Löschen schließen on Fri, 28 Dec 2007 11:05:01 GMT]]></title><description><![CDATA[<blockquote>
<p>Because vectors keep an array format, erasing on positions other than the vector end also moves all the elements after the segment erased to their new positions, which may not be a method as efficient as erasing in other kinds of sequence containers (deque, list).</p>
<p><strong>This invalidates all iterator and references to elements after position or first!</strong></p>
</blockquote>
<p>...</p>
<pre><code class="language-cpp">#include &lt;list&gt;

int main()
{
    std::list&lt;int&gt; data;
    for (std::size_t i(0); i &lt; 1000; ++i)
        data.push_back(1);
    std::list&lt;int&gt;::iterator it(data.begin()); // 1. Item
    data.erase(++it); // 2. Item löschen
    data.remove(100); // löscht, wo item == 100
}
</code></pre>
<p>usw.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1427162</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1427162</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Fri, 28 Dec 2007 11:05:01 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector Lücke nach Element Löschen schließen on Fri, 28 Dec 2007 11:08:18 GMT]]></title><description><![CDATA[<p>erase lässt keine Lücke, alle nachfolgenden Elemente werden um eins nach vorne geschoben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1427163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1427163</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Fri, 28 Dec 2007 11:08:18 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector Lücke nach Element Löschen schließen on Fri, 28 Dec 2007 11:24:54 GMT]]></title><description><![CDATA[<p>schön wie du wiederholen kannst <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1427171</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1427171</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Fri, 28 Dec 2007 11:24:54 GMT</pubDate></item><item><title><![CDATA[Reply to std::vector Lücke nach Element Löschen schließen on Fri, 28 Dec 2007 11:29:01 GMT]]></title><description><![CDATA[<p>Das heißt mein Fehler liegt woanders und nicht daran, dass beim vector eine Lücke wäre, weil da gar keine ist? Ok das bringt mich sogar ein Stück weiter, denn ich merke gerade, dass ich den Fehler auch reproduzieren kann in Situationen, wo im vector gar nichts gelöscht wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1427173</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1427173</guid><dc:creator><![CDATA[Kevinus]]></dc:creator><pubDate>Fri, 28 Dec 2007 11:29:01 GMT</pubDate></item></channel></rss>