<?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[[Gelöst] std::set]]></title><description><![CDATA[<p>Vielleicht bin ich auch einfach zu müde, aber ich kapiere nicht, wie diese assertion fehlschlagen kann:</p>
<pre><code class="language-cpp">std::set&lt;MyObject&gt; mySet;
MyObject obj;

/* ... */

if(mySet.find(obj) == mySet.end())
{
   std::pair&lt;std::set&lt;MyObject&gt;::iterator, bool&gt; ret = mySet.insert(obj);
   assert(ret.second); //die hier
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/255627/gelöst-std-set</link><generator>RSS for Node</generator><lastBuildDate>Fri, 11 Sep 2026 21:26:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/255627.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 03 Dec 2009 00:10:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [Gelöst] std::set on Thu, 03 Dec 2009 18:33:35 GMT]]></title><description><![CDATA[<p>Vielleicht bin ich auch einfach zu müde, aber ich kapiere nicht, wie diese assertion fehlschlagen kann:</p>
<pre><code class="language-cpp">std::set&lt;MyObject&gt; mySet;
MyObject obj;

/* ... */

if(mySet.find(obj) == mySet.end())
{
   std::pair&lt;std::set&lt;MyObject&gt;::iterator, bool&gt; ret = mySet.insert(obj);
   assert(ret.second); //die hier
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1816845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1816845</guid><dc:creator><![CDATA[wx++]]></dc:creator><pubDate>Thu, 03 Dec 2009 18:33:35 GMT</pubDate></item><item><title><![CDATA[Reply to [Gelöst] std::set on Thu, 03 Dec 2009 00:23:22 GMT]]></title><description><![CDATA[<p>Ist das 1:1 der Code? Nicht, dass es am Ende bloß ein Schreibfehler ist. Ich sehe nämlich ebenfalls nicht, wie das jemals schief gehen könnte.</p>
<p>Außerdem erschließt sich mir der Sinn des Konstruktion nicht, aber das ist eine andere Sache.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1816847</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1816847</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 03 Dec 2009 00:23:22 GMT</pubDate></item><item><title><![CDATA[Reply to [Gelöst] std::set on Thu, 03 Dec 2009 00:35:09 GMT]]></title><description><![CDATA[<p>Nein, nicht ganz aber fast.<br />
Originalcode:</p>
<pre><code class="language-cpp">std::set&lt;State&gt;::iterator res = this-&gt;states.find(this-&gt;curstate);
if(res == this-&gt;states.end())
{
    std::pair&lt;std::set&lt;State&gt;::iterator, bool&gt; ret = this-&gt;states.insert(this-&gt;curstate);
    assert(ret.second);
</code></pre>
<p>Definition von this-&gt;states:</p>
<pre><code class="language-cpp">std::set&lt;State&gt; states;
</code></pre>
<p>Definition von this-&gt;curstate:</p>
<pre><code class="language-cpp">State curstate;
</code></pre>
<p>Edit: Der Sinn ist, zu überprüfen, ob der aktuelle Zustand bereits bearbeitet wurde (in der Liste der bearbeiteten Zustände ist).<br />
Wenn nicht, wird er bearbeitet und in die Liste eingefügt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1816849</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1816849</guid><dc:creator><![CDATA[wx++]]></dc:creator><pubDate>Thu, 03 Dec 2009 00:35:09 GMT</pubDate></item><item><title><![CDATA[Reply to [Gelöst] std::set on Thu, 03 Dec 2009 18:33:22 GMT]]></title><description><![CDATA[<p>Also ich weiß nicht genau, wie er zu so einem Verhalten führen konnte, aber der Fehler lag auf jedem Fall im Vergleichsoperator von State;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1817286</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1817286</guid><dc:creator><![CDATA[wx++]]></dc:creator><pubDate>Thu, 03 Dec 2009 18:33:22 GMT</pubDate></item></channel></rss>