<?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[Map mit char* als key]]></title><description><![CDATA[<p>Hi,</p>
<p>funktioniert das in C++ problemlos, eine Map mit const char* als key?<br />
std::map&lt;const char*, int&gt; myMap;</p>
<p>Ich mein, wenn ich jetzt was suchen will z.B. mit myMap.find(&quot;foo&quot;);<br />
dann wird der doch intern sowas machen (pseudocode):</p>
<pre><code class="language-cpp">function find(T t)   
foreach key in keylist
   if(key == t)
      // gefunden! return...
</code></pre>
<p>Dh. er vergleich einfach 2 char* mit ==? Dh doch, dass er Adressen und NICHT Inhalte vergleicht? Das kann doch dann schief gehen, weil &quot;foo&quot; nicht notwendigerweise die selbe Adresse haben muss wie ein 2. &quot;foo&quot;, oder? (Wenn der Compiler zB kein string pooling macht)</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/277780/map-mit-char-als-key</link><generator>RSS for Node</generator><lastBuildDate>Tue, 25 Aug 2026 17:22:04 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/277780.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 24 Nov 2010 12:00:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Map mit char* als key on Wed, 24 Nov 2010 12:00:04 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>funktioniert das in C++ problemlos, eine Map mit const char* als key?<br />
std::map&lt;const char*, int&gt; myMap;</p>
<p>Ich mein, wenn ich jetzt was suchen will z.B. mit myMap.find(&quot;foo&quot;);<br />
dann wird der doch intern sowas machen (pseudocode):</p>
<pre><code class="language-cpp">function find(T t)   
foreach key in keylist
   if(key == t)
      // gefunden! return...
</code></pre>
<p>Dh. er vergleich einfach 2 char* mit ==? Dh doch, dass er Adressen und NICHT Inhalte vergleicht? Das kann doch dann schief gehen, weil &quot;foo&quot; nicht notwendigerweise die selbe Adresse haben muss wie ein 2. &quot;foo&quot;, oder? (Wenn der Compiler zB kein string pooling macht)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1985067</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1985067</guid><dc:creator><![CDATA[Mapper]]></dc:creator><pubDate>Wed, 24 Nov 2010 12:00:04 GMT</pubDate></item><item><title><![CDATA[Reply to Map mit char* als key on Wed, 24 Nov 2010 12:05:07 GMT]]></title><description><![CDATA[<p>Für sowas kann man bei <code>std::map</code> Prädikate angeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1985071</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1985071</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Wed, 24 Nov 2010 12:05:07 GMT</pubDate></item><item><title><![CDATA[Reply to Map mit char* als key on Wed, 24 Nov 2010 12:06:00 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">template &lt; class Key, class T, class Compare = less&lt;Key&gt;,
           class Allocator = allocator&lt;pair&lt;const Key,T&gt; &gt; &gt; class map;
</code></pre>
<p>Standardvergelich ist <code>std::less&lt;char*&gt;</code> . Wenn Du das anders möchtest -&gt;</p>
<pre><code class="language-cpp">typedef std::map&lt;char*, int, MyCompareType&gt; mymap;
</code></pre>
<p>Oder Du nimmtst statt char* einfach std::string, wie sich das gehört.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1985072</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1985072</guid><dc:creator><![CDATA[brotbernd]]></dc:creator><pubDate>Wed, 24 Nov 2010 12:06:00 GMT</pubDate></item><item><title><![CDATA[Reply to Map mit char* als key on Wed, 24 Nov 2010 12:14:19 GMT]]></title><description><![CDATA[<p>Also funktioniert eine Map mit char* als Key ohne eigenen Comparator nicht?</p>
<p>Dann nehme ich einfach std::string</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1985076</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1985076</guid><dc:creator><![CDATA[Mapper]]></dc:creator><pubDate>Wed, 24 Nov 2010 12:14:19 GMT</pubDate></item><item><title><![CDATA[Reply to Map mit char* als key on Wed, 24 Nov 2010 12:16:22 GMT]]></title><description><![CDATA[<blockquote>
<p>Also funktioniert eine Map mit char* als Key ohne eigenen Comparator nicht?</p>
</blockquote>
<p>Doch, nur nicht so wie du das moechtest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1985079</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1985079</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Wed, 24 Nov 2010 12:16:22 GMT</pubDate></item><item><title><![CDATA[Reply to Map mit char* als key on Wed, 24 Nov 2010 15:00:13 GMT]]></title><description><![CDATA[<p>Mapper schrieb:</p>
<blockquote>
<p>Also funktioniert eine Map mit char* als Key ohne eigenen Comparator nicht?</p>
<p>Dann nehme ich einfach std::string</p>
</blockquote>
<p>Frage mich sowiso warum Du char* möchtest? Ist doch nur kompliziert...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1985190</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1985190</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Wed, 24 Nov 2010 15:00:13 GMT</pubDate></item></channel></rss>