<?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::set Find mit Objekten]]></title><description><![CDATA[<p>Halli hallo.</p>
<p>Ich habe ein schönes set, da kommen lauter kleine Instanzen von Vektoren eines Zustandsraums rein, also z.B. 10 integer Werte:</p>
<pre><code class="language-cpp">std::set&lt;vector10d&gt; attributeSet;
</code></pre>
<p>Die Vector-Klasse selbst ist sehr einfach, sie hat halt ein Array mit 10 Elementen UND vor allem natürlich einen spitzenmäßigen == Operator.</p>
<pre><code class="language-cpp">class vector10d {
...
int element[10];

inline const bool operator==( const vector10d &amp;comp )
{
   return element[0] == comp.element[0] &amp;&amp;
   element[1] == comp.element[1] &amp;&amp;
   ... &amp;&amp;
   element[9] == comp.element[9];
};
</code></pre>
<p>Jaha. Und jetzt will ich, nachdem ich einen Haufen Vektoren in mein attributeSet reingetan habe später nach einem solchen suchen. Natürlich weiß ich, dass die Suche erfolgreich sein muss. Ist sie leider nicht, daher mein Posting. Einfach gesagt: find(...) funktioniert nicht. Es behauptet unnachgiebig, dass es mein gesuchtes Element nicht gibt.</p>
<pre><code class="language-cpp">if ((attributeSet.find(att) != attributeSet.end())
{
   //GEFUNDEN! JUHUUU!! &lt;- nix is... :(
}
</code></pre>
<p>Dann hab ich was über find_if(...) gelesen und versucht es einzubauen, aber dollerweise gibts das nicht für ein std::set.</p>
<p>Was tun? <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="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/274151/std-set-find-mit-objekten</link><generator>RSS for Node</generator><lastBuildDate>Thu, 27 Aug 2026 19:04:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/274151.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 20 Sep 2010 19:28:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to std::set Find mit Objekten on Mon, 20 Sep 2010 19:28:51 GMT]]></title><description><![CDATA[<p>Halli hallo.</p>
<p>Ich habe ein schönes set, da kommen lauter kleine Instanzen von Vektoren eines Zustandsraums rein, also z.B. 10 integer Werte:</p>
<pre><code class="language-cpp">std::set&lt;vector10d&gt; attributeSet;
</code></pre>
<p>Die Vector-Klasse selbst ist sehr einfach, sie hat halt ein Array mit 10 Elementen UND vor allem natürlich einen spitzenmäßigen == Operator.</p>
<pre><code class="language-cpp">class vector10d {
...
int element[10];

inline const bool operator==( const vector10d &amp;comp )
{
   return element[0] == comp.element[0] &amp;&amp;
   element[1] == comp.element[1] &amp;&amp;
   ... &amp;&amp;
   element[9] == comp.element[9];
};
</code></pre>
<p>Jaha. Und jetzt will ich, nachdem ich einen Haufen Vektoren in mein attributeSet reingetan habe später nach einem solchen suchen. Natürlich weiß ich, dass die Suche erfolgreich sein muss. Ist sie leider nicht, daher mein Posting. Einfach gesagt: find(...) funktioniert nicht. Es behauptet unnachgiebig, dass es mein gesuchtes Element nicht gibt.</p>
<pre><code class="language-cpp">if ((attributeSet.find(att) != attributeSet.end())
{
   //GEFUNDEN! JUHUUU!! &lt;- nix is... :(
}
</code></pre>
<p>Dann hab ich was über find_if(...) gelesen und versucht es einzubauen, aber dollerweise gibts das nicht für ein std::set.</p>
<p>Was tun? <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="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1954981</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1954981</guid><dc:creator><![CDATA[Zorro59]]></dc:creator><pubDate>Mon, 20 Sep 2010 19:28:51 GMT</pubDate></item><item><title><![CDATA[Reply to std::set Find mit Objekten on Tue, 21 Sep 2010 06:21:45 GMT]]></title><description><![CDATA[<p>Falsches Forum: korrekt wäre C++</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1955108</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1955108</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Tue, 21 Sep 2010 06:21:45 GMT</pubDate></item><item><title><![CDATA[Reply to std::set Find mit Objekten on Tue, 21 Sep 2010 06:26:06 GMT]]></title><description><![CDATA[<blockquote>
<p>Dann hab ich was über find_if(...) gelesen und versucht es einzubauen, aber dollerweise gibts das nicht für ein std::set</p>
</blockquote>
<p>Doch, sicher. std::find_if(..) geht mit allem was (Forward) Iteratoren zurückgibt. Dazu einfach einen eigenen Funktor implementieren.</p>
<p>Edit:<br />
Hier noch die Doku: <a href="http://www.cplusplus.com/reference/algorithm/find_if/" rel="nofollow">http://www.cplusplus.com/reference/algorithm/find_if/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1955110</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1955110</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Tue, 21 Sep 2010 06:26:06 GMT</pubDate></item><item><title><![CDATA[Reply to std::set Find mit Objekten on Tue, 21 Sep 2010 08:19:36 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile-var-mode-is-viewprofile-and-u-is-18363.html" rel="nofollow">Jochen Kalmbach</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-58.html" rel="nofollow">C++/CLI mit .NET</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-15.html" rel="nofollow">C++</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39405.html" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1955163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1955163</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Tue, 21 Sep 2010 08:19:36 GMT</pubDate></item></channel></rss>