<?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 aus Zeigern]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>Ich habe mir mal etwas überlegt. Lohnt es sich, eine Template-Containerklasse zu schreiben, die mehrere Elemente nicht direkt als Member, sondern nur Zeiger auf diese speichert? Das heisst, beim Hinzufügen von Elementen würde einfach ein <code>new</code> ausgeführt und ein klasseninternes Zeiger-Array mit dem neuen Zeiger erweitert. Der Wert selber läge also irgendwo im dynamischen Speicherbereich.</p>
<p>So hat man zwar meistens nicht aufeinanderfolgende Elemente. Das könnte eventuell fürs Iterieren ein Problem sein, aber ich nehme jetzt mal Indizes.<br />
Dafür kann man sehr schnell Elemente löschen, verschieben und einfügen, indem nur die Zeiger und nicht die Objekte selber manipuliert werden. Und Random Access ist ja auch sehr schnell, da man nur den Zeiger an der entsprechenden Stelle im Array dereferenzieren muss.</p>
<p>Was spricht gegen ein solches Konzept? Die STL hat immerhin nichts Vergleichbares, oder? <code>std::deque</code> hat ja auch teilweise zusammenhängende Blöcke, und <code>std::vector</code> sowieso. Oder ist es einfach &quot;unschön&quot;, wenn man seine Daten irgendwo fragmentiert herumliegen hat?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/215719/container-aus-zeigern</link><generator>RSS for Node</generator><lastBuildDate>Mon, 12 Oct 2026 02:08:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/215719.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 14 Jun 2008 14:19:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Container aus Zeigern on Sat, 14 Jun 2008 14:19:09 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>Ich habe mir mal etwas überlegt. Lohnt es sich, eine Template-Containerklasse zu schreiben, die mehrere Elemente nicht direkt als Member, sondern nur Zeiger auf diese speichert? Das heisst, beim Hinzufügen von Elementen würde einfach ein <code>new</code> ausgeführt und ein klasseninternes Zeiger-Array mit dem neuen Zeiger erweitert. Der Wert selber läge also irgendwo im dynamischen Speicherbereich.</p>
<p>So hat man zwar meistens nicht aufeinanderfolgende Elemente. Das könnte eventuell fürs Iterieren ein Problem sein, aber ich nehme jetzt mal Indizes.<br />
Dafür kann man sehr schnell Elemente löschen, verschieben und einfügen, indem nur die Zeiger und nicht die Objekte selber manipuliert werden. Und Random Access ist ja auch sehr schnell, da man nur den Zeiger an der entsprechenden Stelle im Array dereferenzieren muss.</p>
<p>Was spricht gegen ein solches Konzept? Die STL hat immerhin nichts Vergleichbares, oder? <code>std::deque</code> hat ja auch teilweise zusammenhängende Blöcke, und <code>std::vector</code> sowieso. Oder ist es einfach &quot;unschön&quot;, wenn man seine Daten irgendwo fragmentiert herumliegen hat?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529007</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529007</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 14 Jun 2008 14:19:09 GMT</pubDate></item><item><title><![CDATA[Reply to Container aus Zeigern on Sat, 14 Jun 2008 14:29:58 GMT]]></title><description><![CDATA[<p>Lohnt sich und gibt es in boost: <a href="http://www.boost.org/doc/libs/1_35_0/libs/ptr_container/doc/ptr_container.html" rel="nofollow">Pointer Container</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1529013</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1529013</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Sat, 14 Jun 2008 14:29:58 GMT</pubDate></item></channel></rss>