<?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[hash_map]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich versuche gerade die Hash_map aus der STL zu verwenden, aber leider klappt das nicht - vielleicht hat von euch schon jemand erfahrung damit.</p>
<p>Dieser Include alleine funktioniert, jedoch habe ich in der Msdn auch etwas vom stdext gehört?</p>
<pre><code class="language-cpp">#include &lt;hash_map&gt;
</code></pre>
<p>So, das funktioniert dann nicht mehr: Der Key soll ein int sein und die Daten vom Typ der Klasse A - ist der Aufruf so richtig?<br />
Der Compiler meldet auch immer das er hash&lt;int&gt; nicht kennt. Oder auch type int unexpected und noch viele viele andere Fehler.</p>
<pre><code class="language-cpp">hash_map&lt;int, KlasseA, hash&lt;int&gt;, eqint&gt; hashMap;
</code></pre>
<p>Ich würde das dringend benötigen, und hoffe auf eure Hilfe. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
lg lara</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/161083/hash_map</link><generator>RSS for Node</generator><lastBuildDate>Fri, 11 Sep 2026 17:29:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/161083.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 03 Oct 2006 08:01:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to hash_map on Tue, 03 Oct 2006 08:01:41 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich versuche gerade die Hash_map aus der STL zu verwenden, aber leider klappt das nicht - vielleicht hat von euch schon jemand erfahrung damit.</p>
<p>Dieser Include alleine funktioniert, jedoch habe ich in der Msdn auch etwas vom stdext gehört?</p>
<pre><code class="language-cpp">#include &lt;hash_map&gt;
</code></pre>
<p>So, das funktioniert dann nicht mehr: Der Key soll ein int sein und die Daten vom Typ der Klasse A - ist der Aufruf so richtig?<br />
Der Compiler meldet auch immer das er hash&lt;int&gt; nicht kennt. Oder auch type int unexpected und noch viele viele andere Fehler.</p>
<pre><code class="language-cpp">hash_map&lt;int, KlasseA, hash&lt;int&gt;, eqint&gt; hashMap;
</code></pre>
<p>Ich würde das dringend benötigen, und hoffe auf eure Hilfe. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
lg lara</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148471</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148471</guid><dc:creator><![CDATA[Lara*]]></dc:creator><pubDate>Tue, 03 Oct 2006 08:01:41 GMT</pubDate></item><item><title><![CDATA[Reply to hash_map on Tue, 03 Oct 2006 08:26:58 GMT]]></title><description><![CDATA[<p>Code</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148477</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148477</guid><dc:creator><![CDATA[MehrMehrMehr]]></dc:creator><pubDate>Tue, 03 Oct 2006 08:26:58 GMT</pubDate></item><item><title><![CDATA[Reply to hash_map on Tue, 03 Oct 2006 08:40:43 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">stdext::hash_map&lt;int, KlasseA, hash&lt;int&gt;, eqint&gt; hashMap;
</code></pre>
<p>Wie die MSDN es schon erwähnt liegt hash_map im namespace stdext.</p>
<p>Gruss Spacelord</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148480</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148480</guid><dc:creator><![CDATA[Spacelord]]></dc:creator><pubDate>Tue, 03 Oct 2006 08:40:43 GMT</pubDate></item><item><title><![CDATA[Reply to hash_map on Tue, 03 Oct 2006 09:06:29 GMT]]></title><description><![CDATA[<p>Danke für deine Antwort.</p>
<p>Leider funktioniert das auch noch nicht richtig.<br />
Habe es jetz so:</p>
<pre><code class="language-cpp">#include &lt;hash_map&gt;
stdext::hash_map&lt;int, KlasseA, hash&lt;int&gt;, eqint&gt; hashMap;
</code></pre>
<p>Muss man die hash_map irgendwie anders inkludieren? Bzw. kann es sein, dass es auch erst ab .NET 2003 funktioniert? In Summe kommen immer über 100 Fehler aus diesem Statement raus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148489</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148489</guid><dc:creator><![CDATA[Lara*]]></dc:creator><pubDate>Tue, 03 Oct 2006 09:06:29 GMT</pubDate></item><item><title><![CDATA[Reply to hash_map on Tue, 03 Oct 2006 10:07:03 GMT]]></title><description><![CDATA[<p>Lara* schrieb:</p>
<blockquote>
<p>ich versuche gerade die Hash_map aus der STL zu verwenden</p>
</blockquote>
<p>Die STL besitzt keine hash_map. Es gibt Compilererweiterungen (von Dinkumware, SGI ...), die eine beinhaltet. Ab TR1 ist im Standard die Klasse 'unordered_map' im Namensbereich std::tr1 vorhanden vorhanden. Der Header heißt &lt;unordered_map&gt;. Diese Klasse verwendet intern eine Hashtabelle.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148528</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148528</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Tue, 03 Oct 2006 10:07:03 GMT</pubDate></item><item><title><![CDATA[Reply to hash_map on Tue, 03 Oct 2006 10:14:59 GMT]]></title><description><![CDATA[<p>Lara* schrieb:</p>
<blockquote>
<pre><code class="language-cpp">#include &lt;hash_map&gt;
stdext::hash_map&lt;int, KlasseA, hash&lt;int&gt;, eqint&gt; hashMap;
</code></pre>
</blockquote>
<p>Wie sind 'hash' und 'eqint' definiert? Diese beiden sind bei mir nicht vorhanden. Versuch mal, den 'stdext::hash_compare' zu verwenden (ist standardmäßig für 'int' verwendet, muss also nicht extra angegeben werden). Dort, wo Du 'eqint' hast, sollte ein Allocator stehen. Versuch mal folgendes:</p>
<pre><code class="language-cpp">stdext::hash_map&lt;int, KlasseA&gt; hashMap;
</code></pre>
<p>Das klappt bei mir (VS2005, sollte aber auch schon in früheren VS-Versionen gehen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148532</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148532</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Tue, 03 Oct 2006 10:14:59 GMT</pubDate></item><item><title><![CDATA[Reply to hash_map on Tue, 03 Oct 2006 10:37:28 GMT]]></title><description><![CDATA[<blockquote>
<p>stdext::hash_map&lt;int, KlasseA&gt; hashMap;</p>
</blockquote>
<p>funktioniert bei mir auch nicht: &quot;stdext: is not a class or namespace name&quot;<br />
aber ansonsten sinds schon weniger Fehler.</p>
<p>Laut dem <a href="http://msdn2.microsoft.com/en-us/library/6x7w9f6z.aspx" rel="nofollow">http://msdn2.microsoft.com/en-us/library/6x7w9f6z.aspx</a> ist aber die hash_map doch ein Teil der STL, hier steht auch das ab .NET 2003 stdext verwendet wird. Momentan habe ich noch Version 2002, aber ich versuche gerade die 2003 Version zu bekommen.</p>
<p>Folgendes funktioniert bei mir daher:</p>
<pre><code class="language-cpp">std::hash_map&lt;int, KlasseA&gt; hashMap;
</code></pre>
<p>Die vorherige Funktion mit Allocator etc hatte ich von dieser Seite: <a href="http://www.wachtler.de/cpp/node85.html" rel="nofollow">http://www.wachtler.de/cpp/node85.html</a></p>
<p>Was mich jedoch immer noch beschäftigt ist, welcher HashCode wird hier intern verwendet oder kann ich einfach annehmen es wird ein solcher verwendet der zu wenig Kollisionen führt? Und noch eine Frage, ist der Aufbau der hash_map aber nicht einem Binären Baum - wie die Map - gleichzusetzten oder?</p>
<p>Ansonsten danke nochmal für alle Antworten <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/1148549</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148549</guid><dc:creator><![CDATA[Lara*]]></dc:creator><pubDate>Tue, 03 Oct 2006 10:37:28 GMT</pubDate></item><item><title><![CDATA[Reply to hash_map on Tue, 03 Oct 2006 10:48:32 GMT]]></title><description><![CDATA[<p>Lara* schrieb:</p>
<blockquote>
<p>Laut dem <a href="http://msdn2.microsoft.com/en-us/library/6x7w9f6z.aspx" rel="nofollow">http://msdn2.microsoft.com/en-us/library/6x7w9f6z.aspx</a> ist aber die hash_map doch ein Teil der STL</p>
</blockquote>
<p>Ja, das ist gelogen. In der MSDN steht aber auch:</p>
<blockquote>
<p>Members of the &lt;hash_map&gt; and &lt;hash_set&gt; header files are not currently part of the ISO C++ standard. Therefore, these types and members have been moved from the std namespace to namespace stdext, to remain conformant with the C++ standard, in Visual C++ .NET 2003.</p>
</blockquote>
<p>[Quelle: <a href="http://msdn.microsoft.com/library/en-us/vcstdlib/html/vclrfTheStdextNamespace.asp" rel="nofollow">http://msdn.microsoft.com/library/en-us/vcstdlib/html/vclrfTheStdextNamespace.asp</a>]</p>
<blockquote>
<p>Momentan habe ich noch Version 2002, aber ich versuche gerade die 2003 Version zu bekommen.</p>
</blockquote>
<p>Wieso 2003? Die aktuelle Version von Visual Studio ist Version 8 mit dem Produktnamen 2005. 2003 ist mittlerweile veraltet.</p>
<blockquote>
<p>Die vorherige Funktion mit Allocator etc hatte ich von dieser Seite: <a href="http://www.wachtler.de/cpp/node85.html" rel="nofollow">http://www.wachtler.de/cpp/node85.html</a></p>
</blockquote>
<p>Dass dieser Code bei Dir nicht funktioniert ist ja kein Wunder, der bezieht sich nämlich nicht auf VC sondern auf einen anderen Compiler (gcc).</p>
<blockquote>
<p>Was mich jedoch immer noch beschäftigt ist, welcher HashCode wird hier intern verwendet</p>
</blockquote>
<p>Gute Frage. Es liegt die Funktion 'hash_comp' zugrunde, da müsste man sich den Quellcode ansehen. Aber Du kannst davon ausgehen, dass diese Funktion für POD gut spezialisiert wurde, d.h. sie wird die Kollisionen gut minimieren.</p>
<blockquote>
<p>Und noch eine Frage, ist der Aufbau der hash_map aber nicht einem Binären Baum - wie die Map - gleichzusetzten oder?</p>
</blockquote>
<p>Äh natürlich nicht, sonst wäre es keine <strong>hash</strong>_map.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148559</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148559</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Tue, 03 Oct 2006 10:48:32 GMT</pubDate></item><item><title><![CDATA[Reply to hash_map on Tue, 03 Oct 2006 11:13:24 GMT]]></title><description><![CDATA[<p>ok, jetzt ist alles klar. Nur zur vollständigkeit ich habe noch Version 7.0 2002.</p>
<p>Was ich noch gerade entdeckt habe gibt es anscheinend keine fertigen Funktionen auf die hash_map, siehe <a href="http://msdn2.microsoft.com/en-us/library/e5ed25x6.aspx" rel="nofollow">http://msdn2.microsoft.com/en-us/library/e5ed25x6.aspx</a></p>
<p>ich suche zb die Funktion wie bei einem Vektor hashMap.clear() - wie kann ich zb eine hashMap im destruktor löschen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148580</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148580</guid><dc:creator><![CDATA[Lara**]]></dc:creator><pubDate>Tue, 03 Oct 2006 11:13:24 GMT</pubDate></item><item><title><![CDATA[Reply to hash_map on Tue, 03 Oct 2006 11:31:49 GMT]]></title><description><![CDATA[<p>Lara** schrieb:</p>
<blockquote>
<p>Was ich noch gerade entdeckt habe gibt es anscheinend keine fertigen Funktionen auf die hash_map, siehe <a href="http://msdn2.microsoft.com/en-us/library/e5ed25x6.aspx" rel="nofollow">http://msdn2.microsoft.com/en-us/library/e5ed25x6.aspx</a></p>
</blockquote>
<p>Falsche Seite. Du suchst <a href="http://msdn2.microsoft.com/en-us/library/h80zf4bx.aspx" rel="nofollow">http://msdn2.microsoft.com/en-us/library/h80zf4bx.aspx</a>.</p>
<blockquote>
<p>ich suche zb die Funktion wie bei einem Vektor hashMap.clear() - wie kann ich zb eine hashMap im destruktor löschen?</p>
</blockquote>
<p>Genauso: mit 'clear'.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148586</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148586</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Tue, 03 Oct 2006 11:31:49 GMT</pubDate></item><item><title><![CDATA[Reply to hash_map on Tue, 03 Oct 2006 13:27:06 GMT]]></title><description><![CDATA[<p>Lara! Du liest in der MSDN das es hash_map erst ab MSVC7.1 gibt, und wunderst dich trotzdem, wo du weißt das du nur MSVC7 hast? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148655</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148655</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Tue, 03 Oct 2006 13:27:06 GMT</pubDate></item><item><title><![CDATA[Reply to hash_map on Tue, 03 Oct 2006 13:34:39 GMT]]></title><description><![CDATA[<p>Artchi schrieb:</p>
<blockquote>
<p>Lara! Du liest in der MSDN das es hash_map erst ab MSVC7.1 gibt, und wunderst dich trotzdem, wo du weißt das du nur MSVC7 hast? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
</blockquote>
<p>Nein, die gab es schon vorher ... nur wurde sie ab v7.1 in einen anderen Namensbereich gepackt. Übrigens steht auf der Dinkumware-Doku-Seite nochmal was anderes, was mich sehr wundert, weil der Copyright-Notiz nach zu urteilen die Datei &lt;hash_map&gt; von MS nicht geändert wurde. Ich kann dem nur entnehmen, dass die Angaben bei Dinkumware nicht aktuell sind.</p>
<p>Übrigens, ich sehe gerade, dass mein Link kaputt ist. Richtig wäre:</p>
<p><a href="http://msdn2.microsoft.com/en-us/library/h80zf4bx.aspx" rel="nofollow">http://msdn2.microsoft.com/en-us/library/h80zf4bx.aspx</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148663</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148663</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Tue, 03 Oct 2006 13:34:39 GMT</pubDate></item></channel></rss>