<?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[Höchsten Wert aus nichtprimitiven Vektor picken]]></title><description><![CDATA[<p>Hi,</p>
<p>ich will aus einem Vektor gern den höchsten Wert picken. Jetzt besteht der Vektor aber aus Hilfsobjekten. Eine Eigenschaft des Hilfsobjekts ist ein float, nach diesem höchsten float will ich greifen - wie mache ich das - im Netz begegnen mir vor allem Beispiele mit std::max_element(), aber da liegen primitive Werte im Vektor [ <a href="http://www.cppreference.com/wiki/algorithm/max_element" rel="nofollow">http://www.cppreference.com/wiki/algorithm/max_element</a> ] ?</p>
<p>Danke vorab.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/285554/höchsten-wert-aus-nichtprimitiven-vektor-picken</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Apr 2026 16:54:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/285554.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 22 Apr 2011 22:01:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Höchsten Wert aus nichtprimitiven Vektor picken on Fri, 22 Apr 2011 22:01:34 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich will aus einem Vektor gern den höchsten Wert picken. Jetzt besteht der Vektor aber aus Hilfsobjekten. Eine Eigenschaft des Hilfsobjekts ist ein float, nach diesem höchsten float will ich greifen - wie mache ich das - im Netz begegnen mir vor allem Beispiele mit std::max_element(), aber da liegen primitive Werte im Vektor [ <a href="http://www.cppreference.com/wiki/algorithm/max_element" rel="nofollow">http://www.cppreference.com/wiki/algorithm/max_element</a> ] ?</p>
<p>Danke vorab.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2053098</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2053098</guid><dc:creator><![CDATA[Jay1980]]></dc:creator><pubDate>Fri, 22 Apr 2011 22:01:34 GMT</pubDate></item><item><title><![CDATA[Reply to Höchsten Wert aus nichtprimitiven Vektor picken on Fri, 22 Apr 2011 22:08:49 GMT]]></title><description><![CDATA[<p>std::max_element gibt es in zwei Varianten: Die erste verwendet operator&lt;, um die Elemente zu vergleichen (den kannst du selber schreiben, wenn du diese Sortierung öfter benötigst), der zweiten gibst du eine Vergleichsfunktion mit:</p>
<pre><code class="language-cpp">bool stat_less(const helper&amp; lhs, const helper&amp; rhs)
{
  return lhs.status() &lt; rhs.status();
}

//und im Einsatz:
vector&lt;helper&gt;::iterator = max_element(liste.begin(),liste.ende(),stat_less);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2053100</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2053100</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 22 Apr 2011 22:08:49 GMT</pubDate></item><item><title><![CDATA[Reply to Höchsten Wert aus nichtprimitiven Vektor picken on Sat, 23 Apr 2011 06:40:55 GMT]]></title><description><![CDATA[<p>Und mit C++0x geht auch das:</p>
<pre><code class="language-cpp">std::vector&lt;FloatInside&gt; MeinVec;
float Max = std::numeretic_limits&lt;float&gt;::min();
for(FloatInside&amp; Object: MeinVec)
  if(Object.InnerFloat() &gt; Max)
    Max = Object.InnerFloat();
</code></pre>
<p>Oder auch so:</p>
<pre><code class="language-cpp">std::vector&lt;FloatInside&gt; MeinVec;
float Max = std::numeretic_limits&lt;float&gt;::min();
for_each(MeinVec.begin(), MeinVec.end(), [&amp;Max](const FloatInside&amp; Object){if(Object.InnerFloat() &gt; Max)Max = Object.InnerFloat();});
</code></pre>
<p>Oder wenn du den Iterator brauchst:</p>
<pre><code class="language-cpp">std::vector&lt;FloatInside&gt; MeinVec;
std::vector&lt;FloatInside&gt;::iterator MeinIter;
for(FloatInside&amp; Object: MeinVec)
{
  static float Max = std::numeretic_limits&lt;float&gt;::min();
  if(Object.InnerFloat() &gt; Max)
    MeinIter = &amp;Object;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2053133</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2053133</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Sat, 23 Apr 2011 06:40:55 GMT</pubDate></item><item><title><![CDATA[Reply to Höchsten Wert aus nichtprimitiven Vektor picken on Sat, 23 Apr 2011 06:50:30 GMT]]></title><description><![CDATA[<p>EOutOfResources schrieb:</p>
<blockquote>
<p>Und mit C++0x geht auch das:</p>
</blockquote>
<p>Wenn schon jemand es geschafft hat, die &lt;algorithm&gt; zu finden und zu nutzen, empfehle ich ihm doch nicht eine selbstgebaute Schleife dafür (wobei - in C++0x könnte man die Vergleichsfunktion auch als Lambda-Expression zusammenbauen)</p>
<p>PS: Bist du dir sicher, daß die dritte Version einen Iterator zurückgibt? Bei vector&lt;&gt; ist zwar in den meisten Fällen der Iterator ein einfacher Pointer, aber erstens ist das nicht vorgeschrieben und zweitens kannst du den Code nicht für andere Containerklassen anwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2053137</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2053137</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sat, 23 Apr 2011 06:50:30 GMT</pubDate></item><item><title><![CDATA[Reply to Höchsten Wert aus nichtprimitiven Vektor picken on Sat, 23 Apr 2011 07:08:07 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Wenn schon jemand es geschafft hat, die &lt;algorithm&gt; zu finden und zu nutzen, empfehle ich ihm doch nicht eine selbstgebaute Schleife dafür)</p>
</blockquote>
<p>Stimmt, sorry.</p>
<p>CStoll schrieb:</p>
<blockquote>
<p>wobei - in C++0x könnte man die Vergleichsfunktion auch als Lambda-Expression zusammenbauen</p>
</blockquote>
<pre><code class="language-cpp">std::vector&lt;FloatInside&gt;::iterator = std::max_element(MeinVec.begin(),MeinVec.end(),[](const FloatInside&amp; Left, const FloatInside&amp; Right){return Left.InnerFloat() &lt; Right.InnerFloat()});
</code></pre>
<p>CStoll schrieb:</p>
<blockquote>
<p>ist das nicht vorgeschrieben</p>
</blockquote>
<p>*BuchHervorhol* Mist, hast recht. Ich dachte, dass der RandomAccessIter immer einen Konvertierungsoperator zu und von einem rohen Zeiger bietet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2053140</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2053140</guid><dc:creator><![CDATA[EOutOfResources]]></dc:creator><pubDate>Sat, 23 Apr 2011 07:08:07 GMT</pubDate></item></channel></rss>