<?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[std::map mit key std::string*]]></title><description><![CDATA[<p>Wenn ich eine map mit string* als key habe, werden dann die pointeradressen miteinander verglichen? Wenn ja, wie bekomme ich es hin, dass die strings miteinander verglichen werden?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/180753/std-map-mit-key-std-string</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 22:34:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/180753.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 06 May 2007 10:05:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to std::map mit key std::string* on Sun, 06 May 2007 10:05:20 GMT]]></title><description><![CDATA[<p>Wenn ich eine map mit string* als key habe, werden dann die pointeradressen miteinander verglichen? Wenn ja, wie bekomme ich es hin, dass die strings miteinander verglichen werden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1279584</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1279584</guid><dc:creator><![CDATA[xcvx&amp;lt;yvyx]]></dc:creator><pubDate>Sun, 06 May 2007 10:05:20 GMT</pubDate></item><item><title><![CDATA[Reply to std::map mit key std::string* on Sun, 06 May 2007 10:15:08 GMT]]></title><description><![CDATA[<p>- Immer wenn du Typ* hast werden die Pointer-Adressen verglichen.<br />
- Warum verwendest du nicht einfach std::string? Fügst du derart oft in die Map ein, dass der Kopier-Vorgang dafür zu lange dauert?</p>
<p>Die Lösung ist die Verwendung eines eigenen Comperators:</p>
<pre><code class="language-cpp">template &lt;class Type&gt;
struct PtrRefLess
{
    bool operator() (Type lhs, Type rhs)
    {
        return(*lhs &lt; *rhs);
};

typedef map&lt;std::string*, value_type, PtrRefLess&lt;std::string*&gt; &gt; MyMap;
</code></pre>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1279589</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1279589</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Sun, 06 May 2007 10:15:08 GMT</pubDate></item><item><title><![CDATA[Reply to std::map mit key std::string* on Sun, 06 May 2007 11:21:19 GMT]]></title><description><![CDATA[<p>SideWinder schrieb:</p>
<blockquote>
<p>Fügst du derart oft in die Map ein, dass der Kopier-Vorgang dafür zu lange dauert?</p>
</blockquote>
<p>Was im Prinzip eine rhetorische Frage ist. Beim Einfügen selbst muss ja regelmäßig der String mehrfach verglichen werden, was dann auch ein O(N)-Problem ist. Übrigens sollte der Operator eine const-Funktion sein. Andernfalls wird es problematisch, wenn const-Funktionen der Map aufgerufen werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1279614</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1279614</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Sun, 06 May 2007 11:21:19 GMT</pubDate></item><item><title><![CDATA[Reply to std::map mit key std::string* on Sun, 06 May 2007 12:04:08 GMT]]></title><description><![CDATA[<p>Hat er ziemlich unterschiedliche Strings beläuft sich das O(N)-Problem aber schnell auf nur ein bis zwei Vergleiche pro String. Das Kopieren dauert aber auf jeden Fall O(N).</p>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1279627</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1279627</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Sun, 06 May 2007 12:04:08 GMT</pubDate></item><item><title><![CDATA[Reply to std::map mit key std::string* on Sun, 06 May 2007 12:30:59 GMT]]></title><description><![CDATA[<p>Ja, dass mit dem Pointer wollte ich machen, damit nicht immer wieder kopiert wird. gibt es eigentlich auch sowas wie ähnliches die HashMap von Java?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1279639</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1279639</guid><dc:creator><![CDATA[xcvx&amp;lt;yvyx]]></dc:creator><pubDate>Sun, 06 May 2007 12:30:59 GMT</pubDate></item><item><title><![CDATA[Reply to std::map mit key std::string* on Sun, 06 May 2007 16:13:52 GMT]]></title><description><![CDATA[<p>xcvx&lt;yvyx schrieb:</p>
<blockquote>
<p>Ja, dass mit dem Pointer wollte ich machen, damit nicht immer wieder kopiert wird. gibt es eigentlich auch sowas wie ähnliches die HashMap von Java?</p>
</blockquote>
<p>Ja. Viele Compiler habe es als hash_map oder so eingebaut.<br />
Im kommenden C++ -Standard (C++0x) ist es als unordered_map vorgesehen.<br />
Vom GNU C++ 4.2 Compiler wird unordered_map bereits unterstützt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1279751</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1279751</guid><dc:creator><![CDATA[helpie]]></dc:creator><pubDate>Sun, 06 May 2007 16:13:52 GMT</pubDate></item><item><title><![CDATA[Reply to std::map mit key std::string* on Sun, 06 May 2007 16:30:09 GMT]]></title><description><![CDATA[<p>helpie schrieb:</p>
<blockquote>
<p>Vom GNU C++ 4.2 Compiler wird unordered_map bereits unterstützt.</p>
</blockquote>
<p>Sie ist ja auch bereits seit April 2006 (oder 2005?) Teil des Standards als 'std::tr1::unordered_map'.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1279765</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1279765</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Sun, 06 May 2007 16:30:09 GMT</pubDate></item><item><title><![CDATA[Reply to std::map mit key std::string* on Sun, 06 May 2007 16:36:38 GMT]]></title><description><![CDATA[<p>Nein, nicht des Standards, sondern des Standard<strong>entwurfs</strong>.<br />
Die Verabschiedung des neuen C++ Standards wird noch etwas dauern.<br />
2009 wird jetzt definitiv angepeilt.<br />
Weitere Informationen findet man hier:<br />
<a href="http://www.open-std.org/jtc1/sc22/wg21/" rel="nofollow">http://www.open-std.org/jtc1/sc22/wg21/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1279770</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1279770</guid><dc:creator><![CDATA[helpie]]></dc:creator><pubDate>Sun, 06 May 2007 16:36:38 GMT</pubDate></item></channel></rss>