<?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[Wie funktioniert ein Vector intern]]></title><description><![CDATA[<p>wenn ich einen Vector verwende:</p>
<pre><code class="language-cpp">struct foo{

int i;
long l;
}

std::vector&lt;foo&gt; vBar;
</code></pre>
<p>wenn ich nun neue elemen hinzufügen mit push oder so, dann wird interen ne objekt liste eerstell nehm ich an .. seh ich das richtig?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/172265/wie-funktioniert-ein-vector-intern</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 18:00:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/172265.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 03 Feb 2007 05:17:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wie funktioniert ein Vector intern on Sat, 03 Feb 2007 05:17:55 GMT]]></title><description><![CDATA[<p>wenn ich einen Vector verwende:</p>
<pre><code class="language-cpp">struct foo{

int i;
long l;
}

std::vector&lt;foo&gt; vBar;
</code></pre>
<p>wenn ich nun neue elemen hinzufügen mit push oder so, dann wird interen ne objekt liste eerstell nehm ich an .. seh ich das richtig?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1222051</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1222051</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Sat, 03 Feb 2007 05:17:55 GMT</pubDate></item><item><title><![CDATA[Reply to Wie funktioniert ein Vector intern on Sat, 03 Feb 2007 06:26:14 GMT]]></title><description><![CDATA[<p>vector ist doch ein array. wenn es zu klein wird, dann wirds vergrößert, sonst nur vec[last] = x, oder so ähnlich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1222052</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1222052</guid><dc:creator><![CDATA[uzuz]]></dc:creator><pubDate>Sat, 03 Feb 2007 06:26:14 GMT</pubDate></item><item><title><![CDATA[Reply to Wie funktioniert ein Vector intern on Sat, 03 Feb 2007 09:54:26 GMT]]></title><description><![CDATA[<p>Musst du nachsehen in &lt;vector&gt;. In der Regel hat der Vektor einen Pointer auf ein Array auf dem Heap und eine Variable, die sich die Größe merkt. Ist das Array zu klein wird seine Größe verdoppelt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1222095</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1222095</guid><dc:creator><![CDATA[geloescht]]></dc:creator><pubDate>Sat, 03 Feb 2007 09:54:26 GMT</pubDate></item><item><title><![CDATA[Reply to Wie funktioniert ein Vector intern on Sat, 03 Feb 2007 10:17:58 GMT]]></title><description><![CDATA[<p>Da ein Vector laut ISO-Standard konstante Zugriffszeiten haben muß, ist er wohl zu 100% der Fälle intern als Array implementiert. Nur halt mit ein paar Komfortfunktionen, die einem das Leben ggü. einem primitiven Array unheimlich erleichtern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1222109</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1222109</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Sat, 03 Feb 2007 10:17:58 GMT</pubDate></item><item><title><![CDATA[Reply to Wie funktioniert ein Vector intern on Sat, 03 Feb 2007 10:20:53 GMT]]></title><description><![CDATA[<p>Dann könnte es doch auch eine HashMap sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1222115</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1222115</guid><dc:creator><![CDATA[KennerDerZugriffszeiten]]></dc:creator><pubDate>Sat, 03 Feb 2007 10:20:53 GMT</pubDate></item><item><title><![CDATA[Reply to Wie funktioniert ein Vector intern on Sat, 03 Feb 2007 10:27:17 GMT]]></title><description><![CDATA[<p>Nein, denn ein vector garantiert auch, daß seine Elemente hintereinander im Speicher stehen (und außerdem ist eine Hash-Map für den Zweck etwas übertrieben)<sup>*</sup>. Afaik passt geloescht's Aussage am ehesten zu den Vorgaben eines vector's - er hat intern einen Zeiger und eine Hilfsvariable für die Größe (capacity()) und verdoppelt seine Kapazität, wenn er überläuft.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/1463">@Artchi</a>: push_back() hat nur im Mittel konstante Laufzeit - und durch die Verdoppelungsstrategie ist gesichert, daß die teuren Reallokationen auf die Dauer nicht ins Gewicht fallen.</p>
<p><sup>*</sup> OK, Eigentlich ist ein Array auch eine Hash-Map - mit der primitiven Hash-Funktion h(x)=x <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/1222119</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1222119</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sat, 03 Feb 2007 10:27:17 GMT</pubDate></item><item><title><![CDATA[Reply to Wie funktioniert ein Vector intern on Sat, 03 Feb 2007 11:21:29 GMT]]></title><description><![CDATA[<p>KennerDerZugriffszeiten schrieb:</p>
<blockquote>
<p>Dann könnte es doch auch eine HashMap sein.</p>
</blockquote>
<p>Die ist aber ungeordnet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1222140</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1222140</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Sat, 03 Feb 2007 11:21:29 GMT</pubDate></item><item><title><![CDATA[Reply to Wie funktioniert ein Vector intern on Sat, 03 Feb 2007 17:13:59 GMT]]></title><description><![CDATA[<p>Die ist schon geordnet. Nur sieht die Ordnungsrelation anders aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1222308</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1222308</guid><dc:creator><![CDATA[Apollon]]></dc:creator><pubDate>Sat, 03 Feb 2007 17:13:59 GMT</pubDate></item><item><title><![CDATA[Reply to Wie funktioniert ein Vector intern on Sat, 03 Feb 2007 21:25:39 GMT]]></title><description><![CDATA[<p>Artchi schrieb:</p>
<blockquote>
<p>Da ein Vector laut ISO-Standard konstante Zugriffszeiten haben muß, ist er wohl zu 100% der Fälle intern als Array implementiert. Nur halt mit ein paar Komfortfunktionen, die einem das Leben ggü. einem primitiven Array unheimlich erleichtern.</p>
</blockquote>
<p>Ein guter Gedanke, leider nicht bis zu Ende durchdacht. Ein Blick in die Beschreibung von deque wird dich im Übrigen eines Besseren belehren, denn dessen Komplexitätsgarantien sind sogar noch strenger als die von vector. Richtig ist, dass vector seine Daten in einem Array speichert und auch, dass seine Eigenschaften einschließlich der Komplexitätsgarantien derart gewählt sind, dass diese Implementation geradezu nahe liegt (vector ja als Ersatz für arrays dienen). Der Schluss in die andere Richtung ist dennoch unzuöässig. Vector speichert seine Daten in einem Array, weil der Standard sagt, dass vector das tut.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1222430</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1222430</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Sat, 03 Feb 2007 21:25:39 GMT</pubDate></item></channel></rss>