<?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[pointer im std::set]]></title><description><![CDATA[<p>Hallo allerseits,</p>
<p>angenommen ich speichere Zeiger in einem &quot;std::set&quot;:</p>
<p>std::set&lt;Meine_Klasse*&gt; meine_zeiger;</p>
<p>Jetzt soll nicht nur der Zeiger &quot;unique&quot; sein sondern auch der Rückgabewert einer Methode die über den Zeiger erreicht werden kann:</p>
<p>mein_zeiger-&gt;get_id();</p>
<p>Ich habe es mit einem multi_index_container versucht aber nix is'. Natürlich könnte ich den Container vor dem Einfügen des Zeigers von vorne bis hinten durchgehen und überprüfen das sich jedes get_id() unterscheidet aber das sieht mir nicht perfomrant/elegant aus.</p>
<p>Wie würdet ihr es machen?</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/260314/pointer-im-std-set</link><generator>RSS for Node</generator><lastBuildDate>Mon, 07 Sep 2026 22:29:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/260314.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 03 Feb 2010 14:41:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to pointer im std::set on Tue, 09 Feb 2010 17:09:56 GMT]]></title><description><![CDATA[<p>Hallo allerseits,</p>
<p>angenommen ich speichere Zeiger in einem &quot;std::set&quot;:</p>
<p>std::set&lt;Meine_Klasse*&gt; meine_zeiger;</p>
<p>Jetzt soll nicht nur der Zeiger &quot;unique&quot; sein sondern auch der Rückgabewert einer Methode die über den Zeiger erreicht werden kann:</p>
<p>mein_zeiger-&gt;get_id();</p>
<p>Ich habe es mit einem multi_index_container versucht aber nix is'. Natürlich könnte ich den Container vor dem Einfügen des Zeigers von vorne bis hinten durchgehen und überprüfen das sich jedes get_id() unterscheidet aber das sieht mir nicht perfomrant/elegant aus.</p>
<p>Wie würdet ihr es machen?</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1849854</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1849854</guid><dc:creator><![CDATA[goran]]></dc:creator><pubDate>Tue, 09 Feb 2010 17:09:56 GMT</pubDate></item><item><title><![CDATA[Reply to pointer im std::set on Wed, 03 Feb 2010 14:43:32 GMT]]></title><description><![CDATA[<p><a href="http://www.cplusplus.com/reference/stl/set/" rel="nofollow">http://www.cplusplus.com/reference/stl/set/</a><br />
template parameter &quot;Compare&quot;!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1849856</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1849856</guid><dc:creator><![CDATA[l&#x27;abra d&#x27;or]]></dc:creator><pubDate>Wed, 03 Feb 2010 14:43:32 GMT</pubDate></item><item><title><![CDATA[Reply to pointer im std::set on Wed, 03 Feb 2010 14:44:35 GMT]]></title><description><![CDATA[<p>Compare, oder mach einen Wrapper für den Zeiger und implementier da den Vergleichsoperator selbst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1849859</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1849859</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 03 Feb 2010 14:44:35 GMT</pubDate></item><item><title><![CDATA[Reply to pointer im std::set on Wed, 03 Feb 2010 14:45:06 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /><br />
Jo, das is' es! Danke, schneller ging's nich'!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1849860</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1849860</guid><dc:creator><![CDATA[goran]]></dc:creator><pubDate>Wed, 03 Feb 2010 14:45:06 GMT</pubDate></item><item><title><![CDATA[Reply to pointer im std::set on Tue, 09 Feb 2010 17:09:45 GMT]]></title><description><![CDATA[<p>Noch 'ne Frage hat sich mir gestellt.</p>
<p>Mal angenommen std::set&lt;Meine_Klasse*&gt; sortiert so wie ich es möchte. Also mit einer &quot;Compare&quot;-Klasse Sortier_Meine_Klasse.</p>
<p>Das bedeutet für das o.g. Bsp. das sich jeder Pointer als auch jeder Wert eines mein_im_std::set_gespeicherter_zeiger-&gt;get_id() unterscheidet.</p>
<p>Jetzt muss ich mittels einem string nach dem passendem Zeiger suchen. Leider habe ich aber keine map wo der Zeiger und die id gettrennt sind.</p>
<p>Was machen?</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1853252</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1853252</guid><dc:creator><![CDATA[goran]]></dc:creator><pubDate>Tue, 09 Feb 2010 17:09:45 GMT</pubDate></item><item><title><![CDATA[Reply to pointer im std::set on Tue, 09 Feb 2010 18:34:02 GMT]]></title><description><![CDATA[<p>Du schreibst ein bisschen verwirrt <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="😉"
    /></p>
<p>1. das std:set unterscheidet Objekte _NUR_ anhand des Compare-functors. D.h. wenn du 2 Pointer einfuegen willst, die beide die gleiche ID zurueckgeben, wird das nicht funktionieren.</p>
<p>2. Wenn du ein mapping string -&gt; pointer brauchst, dann leg dir doch eines an. std::map ist was du suchst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1853277</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1853277</guid><dc:creator><![CDATA[Blue-Tiger]]></dc:creator><pubDate>Tue, 09 Feb 2010 18:34:02 GMT</pubDate></item></channel></rss>