<?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[Static map template]]></title><description><![CDATA[<p>Hallo,</p>
<p>was haltet ihr von der Idee eine template Klasse StaticMap zu implementieren?</p>
<p>Ich meine damit eine Klasse, die die Typen für key und value und ihre Größe als template parameter erhält.<br />
Der Vorteil wäre, dass man nicht mit new arbeiten müsste wie std::map.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/155524/static-map-template</link><generator>RSS for Node</generator><lastBuildDate>Tue, 08 Sep 2026 12:55:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/155524.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 07 Aug 2006 09:20:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Static map template on Mon, 07 Aug 2006 09:20:46 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>was haltet ihr von der Idee eine template Klasse StaticMap zu implementieren?</p>
<p>Ich meine damit eine Klasse, die die Typen für key und value und ihre Größe als template parameter erhält.<br />
Der Vorteil wäre, dass man nicht mit new arbeiten müsste wie std::map.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1112055</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1112055</guid><dc:creator><![CDATA[templäd]]></dc:creator><pubDate>Mon, 07 Aug 2006 09:20:46 GMT</pubDate></item><item><title><![CDATA[Reply to Static map template on Mon, 07 Aug 2006 10:07:34 GMT]]></title><description><![CDATA[<p>Du kannst auch bei normalen STL-Maps direkt die Objekte halten.</p>
<p>(Das Problem an der Stelle ist, dass man auf diese Weise keine Objekte von abgeleiteten Klassen in die Map einfügen kann. Also kommst du nicht drumrum bei deiner Map intern ebenfalls Pointer zu halten... daher braucht man an der der Stelle eine kleine Fabrik, die wiederum benötigt eine einheitliche Schnittstelle, ...<br />
Man sieht das artet recht schnell aus)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1112090</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1112090</guid><dc:creator><![CDATA[Mathias]]></dc:creator><pubDate>Mon, 07 Aug 2006 10:07:34 GMT</pubDate></item><item><title><![CDATA[Reply to Static map template on Mon, 07 Aug 2006 10:23:23 GMT]]></title><description><![CDATA[<p>Ich glaube er meinte mit Statisch eher die größe der Map, also sowas in der Art:</p>
<pre><code class="language-cpp">template&lt; typename TK, typename TV, int size=64 &gt;
class StaticMap
{
  // ...
}

// ...
StaticMap&lt; std::string, int, 1024 &gt; container; // Map mit 1024 möglichen Einträgen
</code></pre>
<p>grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1112100</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1112100</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Mon, 07 Aug 2006 10:23:23 GMT</pubDate></item><item><title><![CDATA[Reply to Static map template on Mon, 07 Aug 2006 10:49:35 GMT]]></title><description><![CDATA[<p>Stimmt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Das macht die Sache allerdings nicht besser. Das Problem mit den abgeleiteten Klassen hat man immer noch und man verbrät zusätzlich noch Speicher den man mit hoher Wahrscheinlichkeit nicht immer benutzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1112121</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1112121</guid><dc:creator><![CDATA[Mathias]]></dc:creator><pubDate>Mon, 07 Aug 2006 10:49:35 GMT</pubDate></item><item><title><![CDATA[Reply to Static map template on Mon, 07 Aug 2006 11:36:53 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/10111">@Mathias</a>: Ehrlich gesagt weiß ich nicht ganz, was du meinst. std::map hat doch als value_type einfach ein Key,Value-Paar, wieso sollte der dahingehend mit Zeigern arbeiten?!</p>
<p>Was wäre z.B. gegen sowas einzuwenden:</p>
<pre><code class="language-cpp">template &lt;size_t N, typename Key, typename Value&gt;
class static_map
{
public:
    // std::map Interface

private:
    struct Node
    {
        size_t left, right;
        value_type data;
    };

    Node[N] _nodes;
};
</code></pre>
<p>Wenn man sich dafür entscheidet, die Größe der Map festzulegen, wird man schon seine Gründe dafür haben. Man verbrät also im Normalfall keinen oder kaum Speicher damit (im Vergleich zur std::map).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1112146</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1112146</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Mon, 07 Aug 2006 11:36:53 GMT</pubDate></item><item><title><![CDATA[Reply to Static map template on Mon, 07 Aug 2006 11:56:35 GMT]]></title><description><![CDATA[<p>Danke für die Antworten.</p>
<p>Aufgrund der Antworten habe ich mich entschieden eine StaticMap zu implementieren.<br />
Es handelt sich ja um ein Embedded system. Die Größe der map steht ohnehin im vorraus fest, also wird kein Speicher unnütz verbraten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1112169</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1112169</guid><dc:creator><![CDATA[templäd]]></dc:creator><pubDate>Mon, 07 Aug 2006 11:56:35 GMT</pubDate></item><item><title><![CDATA[Reply to Static map template on Mon, 07 Aug 2006 13:14:47 GMT]]></title><description><![CDATA[<p>Was gegen die Implementierung mit einem statischen Array von Pair-Objekte spricht?</p>
<p>Das Arbeiten mit Schüsseln.<br />
Das Array muss sortiert sein damit man effektiv mit Hilfe des Schlüssels suchen, hinzufügen und löschen kann. Das sollte im Normalfall eine nette Kopiererei von Pair-Objekten geben, wenn sie nicht vorsortiert sind.<br />
Ist das ganze wirklich statisch kann ich mir die Map generell sparen und mit<br />
dem Index als Schlüssel arbeiten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1112240</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1112240</guid><dc:creator><![CDATA[Mathias]]></dc:creator><pubDate>Mon, 07 Aug 2006 13:14:47 GMT</pubDate></item><item><title><![CDATA[Reply to Static map template on Mon, 07 Aug 2006 13:20:55 GMT]]></title><description><![CDATA[<p>Man kann auch Bäume effizient innerhalb eines linearen Speichers aufbauen (s.o.)., dann gibts kein rumkopieren. In Informatik nicht aufgepasst? <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="😉"
    /><br />
Das mit dem Index als Schlüssel kann ich nicht nachvollziehen. Wie willst du dann z.B. strings als Schlüssel verwenden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1112244</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1112244</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Mon, 07 Aug 2006 13:20:55 GMT</pubDate></item><item><title><![CDATA[Reply to Static map template on Mon, 07 Aug 2006 14:21:08 GMT]]></title><description><![CDATA[<p>wieso nicht einfach einen entsprechenden allocator schreiben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1112298</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1112298</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Mon, 07 Aug 2006 14:21:08 GMT</pubDate></item></channel></rss>