<?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[Frage zu extended capturing in lambdas]]></title><description><![CDATA[<p>Hi,<br />
Ich habe folgendes Beispiel gefunden. Nur leider verstehe ich es nicht ganz. Es kompiliert mir zwar, aber ich weiss auch nicht wie ich den daraus entstehenden &quot;timer()&quot; eigentlich benutze.</p>
<p>Frage:<br />
1. Vllt koennte mir jemand etwas erklaeren wie dieses Lambda funktioniert. So wie ich es verstehe wird val eingangs mit now() initialisiert und die lambdafunktion &quot;subtrahiert&quot; von now() dann den in val gespeicherten Wert?! Bzw. ist die Initialisierung eher im Sinne von, wenn kein argument mitgeliefert ist, wird val eben mit now() initialisiert?</p>
<p>2. Kann ich timer() irgendwie benutzen um eine &quot;brauchbare&quot; Ausgabe zu erzeugen? also irgendetwas was ich per cout anzeigen lassen kann?</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;chrono&gt; // system_clock
using namespace std;
using namespace chrono;

int main()
{
   // in C++14, captured variables can have an initializing expression
  auto timer = [val = system_clock::now()]{ return system_clock::now() - val; };
  timer();
}
</code></pre>
<p>Danke im Voraus!</p>
<p>Edit: C++14, g++ 5 compiler auf Debian</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/332792/frage-zu-extended-capturing-in-lambdas</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Apr 2026 15:12:08 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/332792.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 22 May 2015 11:39:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu extended capturing in lambdas on Fri, 22 May 2015 11:50:03 GMT]]></title><description><![CDATA[<p>Hi,<br />
Ich habe folgendes Beispiel gefunden. Nur leider verstehe ich es nicht ganz. Es kompiliert mir zwar, aber ich weiss auch nicht wie ich den daraus entstehenden &quot;timer()&quot; eigentlich benutze.</p>
<p>Frage:<br />
1. Vllt koennte mir jemand etwas erklaeren wie dieses Lambda funktioniert. So wie ich es verstehe wird val eingangs mit now() initialisiert und die lambdafunktion &quot;subtrahiert&quot; von now() dann den in val gespeicherten Wert?! Bzw. ist die Initialisierung eher im Sinne von, wenn kein argument mitgeliefert ist, wird val eben mit now() initialisiert?</p>
<p>2. Kann ich timer() irgendwie benutzen um eine &quot;brauchbare&quot; Ausgabe zu erzeugen? also irgendetwas was ich per cout anzeigen lassen kann?</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;chrono&gt; // system_clock
using namespace std;
using namespace chrono;

int main()
{
   // in C++14, captured variables can have an initializing expression
  auto timer = [val = system_clock::now()]{ return system_clock::now() - val; };
  timer();
}
</code></pre>
<p>Danke im Voraus!</p>
<p>Edit: C++14, g++ 5 compiler auf Debian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2454418</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2454418</guid><dc:creator><![CDATA[Fabeltier]]></dc:creator><pubDate>Fri, 22 May 2015 11:50:03 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu extended capturing in lambdas on Fri, 22 May 2015 12:07:40 GMT]]></title><description><![CDATA[<p>Zur 2. Frage:</p>
<pre><code>// ...
auto diff = timer();

std::cout &lt;&lt; diff.count() &lt;&lt; std::endl;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2454425</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2454425</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Fri, 22 May 2015 12:07:40 GMT</pubDate></item></channel></rss>