<?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::find_if() - Kann mir jemand diese Zeile erklären?]]></title><description><![CDATA[<p>Hi,<br />
ich bin gerade via Google auf folgende Zeile gestoßen. So etwas (<strong>dritter Parameter</strong>) habe ich noch nie zuvor gesehen.<br />
<strong>Was passiert da?</strong><br />
Danke!</p>
<pre><code>std::find_if(monsters.begin(), 
             monsters.end(), 
             [&amp;cm = currentMonster]
             (const monster&amp; m) -&gt; bool { return cm == m; });
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/258681/std-find_if-kann-mir-jemand-diese-zeile-erklären</link><generator>RSS for Node</generator><lastBuildDate>Wed, 09 Sep 2026 04:57:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/258681.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 13 Jan 2010 17:46:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to std::find_if() - Kann mir jemand diese Zeile erklären? on Wed, 13 Jan 2010 17:46:59 GMT]]></title><description><![CDATA[<p>Hi,<br />
ich bin gerade via Google auf folgende Zeile gestoßen. So etwas (<strong>dritter Parameter</strong>) habe ich noch nie zuvor gesehen.<br />
<strong>Was passiert da?</strong><br />
Danke!</p>
<pre><code>std::find_if(monsters.begin(), 
             monsters.end(), 
             [&amp;cm = currentMonster]
             (const monster&amp; m) -&gt; bool { return cm == m; });
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1838319</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1838319</guid><dc:creator><![CDATA[Nixchegga]]></dc:creator><pubDate>Wed, 13 Jan 2010 17:46:59 GMT</pubDate></item><item><title><![CDATA[Reply to std::find_if() - Kann mir jemand diese Zeile erklären? on Wed, 13 Jan 2010 17:57:04 GMT]]></title><description><![CDATA[<p>Das scheint aus einem Artikel über C++0x zu kommen. Da wird gebraucht von einem lambda Ausdruck gemacht. Das ist eine inline Funktionsdefinition.</p>
<p>Das hier:</p>
<pre><code class="language-cpp">[&amp;cm = currentMonster]
             (const monster&amp; m) -&gt; bool { return cm == m; }
</code></pre>
<p>Heisst nichts anderes, als dass es eine Funktion ist, welche einen Parameter vom Typ <code>const monster&amp;</code> übernimmt und einen <code>bool</code> zurückgibt, falls <code>cm</code> gleich <code>m</code>  <code>true</code> , ansonsten <code>false</code> . Und das in den eckigen Klammern heisst soviel, dass du der Funktion eben <code>cm</code> bekannt machst und in den Scope der Funktion ziehst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1838324</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1838324</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 13 Jan 2010 17:57:04 GMT</pubDate></item><item><title><![CDATA[Reply to std::find_if() - Kann mir jemand diese Zeile erklären? on Wed, 13 Jan 2010 17:57:43 GMT]]></title><description><![CDATA[<p>Das ist ein Lambda-Ausdruck aus dem nächsten C++-Standard, C++0x. Mit Lambda-Ausdrücken kann man lokale Funktionen definieren und als Argumente an andere Funktionen übergeben.</p>
<p>Im momentanen Standard müsste man dafür eine separate Funktion oder einen Funktor ausserhalb definieren (oder sowas wie Boost.Lambda nutzen), zumindest gibt es noch kein entsprechendes Sprachmittel.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1838325</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1838325</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 13 Jan 2010 17:57:43 GMT</pubDate></item><item><title><![CDATA[Reply to std::find_if() - Kann mir jemand diese Zeile erklären? on Wed, 13 Jan 2010 17:59:29 GMT]]></title><description><![CDATA[<p>Vielen herzlichen Dank euch beiden!<br />
...ich habe zuvor echt noch nie etwas von &quot;Lambda-Ausdrücken&quot; gehört <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1838327</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1838327</guid><dc:creator><![CDATA[Nixchegga]]></dc:creator><pubDate>Wed, 13 Jan 2010 17:59:29 GMT</pubDate></item><item><title><![CDATA[Reply to std::find_if() - Kann mir jemand diese Zeile erklären? on Wed, 13 Jan 2010 18:25:23 GMT]]></title><description><![CDATA[<p>Lambda-Ausdrücke kommen aus der funktionalen Programmierung. Eine zentrale Möglichkeit entsprechender Programmiersprachen besteht darin, Funktionen höherer Ordnung (Funktionale) zu definieren, welche im Gegensatz zu normalen Funktionen nicht nur Werte, sondern auch andere Funktionen als Argumente nehmen können. Durch Lambda-Ausdrücke wird es möglich, eine Funktion gleich innerhalb des Aufrufs zu definieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1838349</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1838349</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 13 Jan 2010 18:25:23 GMT</pubDate></item><item><title><![CDATA[Reply to std::find_if() - Kann mir jemand diese Zeile erklären? on Wed, 13 Jan 2010 21:32:22 GMT]]></title><description><![CDATA[<p>Das sieht allerdings seltsam aus:</p>
<blockquote>
<pre><code class="language-cpp">[&amp;cm = currentMonster]
</code></pre>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1838473</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1838473</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Wed, 13 Jan 2010 21:32:22 GMT</pubDate></item><item><title><![CDATA[Reply to std::find_if() - Kann mir jemand diese Zeile erklären? on Wed, 13 Jan 2010 22:00:26 GMT]]></title><description><![CDATA[<p>David_pb schrieb:</p>
<blockquote>
<p>Das sieht allerdings seltsam aus:</p>
<blockquote>
<pre><code class="language-cpp">[&amp;cm = currentMonster]
</code></pre>
</blockquote>
</blockquote>
<p>Wahrscheinlich alte Syntax oder so. Atm sollte man das so schreiben können:</p>
<pre><code class="language-cpp">[&amp;currentMonster]
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1838493</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1838493</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 13 Jan 2010 22:00:26 GMT</pubDate></item></channel></rss>