<?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[C++0x is feature-complete!]]></title><description><![CDATA[<p>Herb Sutter in seinem Blog, darüber das C++0x endlich alle Features drin hat, und nichts mehr dazu kommt:<br />
<a href="http://herbsutter.wordpress.com/2008/10/28/september-2008-iso-c-standards-meeting-the-draft-has-landed-and-a-new-convener/" rel="nofollow">http://herbsutter.wordpress.com/2008/10/28/september-2008-iso-c-standards-meeting-the-draft-has-landed-and-a-new-convener/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/226340/c-0x-is-feature-complete</link><generator>RSS for Node</generator><lastBuildDate>Wed, 30 Sep 2026 21:10:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/226340.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 31 Oct 2008 10:27:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to C++0x is feature-complete! on Fri, 31 Oct 2008 10:27:09 GMT]]></title><description><![CDATA[<p>Herb Sutter in seinem Blog, darüber das C++0x endlich alle Features drin hat, und nichts mehr dazu kommt:<br />
<a href="http://herbsutter.wordpress.com/2008/10/28/september-2008-iso-c-standards-meeting-the-draft-has-landed-and-a-new-convener/" rel="nofollow">http://herbsutter.wordpress.com/2008/10/28/september-2008-iso-c-standards-meeting-the-draft-has-landed-and-a-new-convener/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1607930</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1607930</guid><dc:creator><![CDATA[Bulli]]></dc:creator><pubDate>Fri, 31 Oct 2008 10:27:09 GMT</pubDate></item><item><title><![CDATA[Reply to C++0x is feature-complete! on Fri, 31 Oct 2008 10:47:45 GMT]]></title><description><![CDATA[<p>vielleicht noch schnell erwähnen, was denn nun tatsächlich drin ist (und es bis vor kurzem noch nicht war)<br />
benutzerdefinierte literale (yay!)<br />
concepts (ok, das *musste* einfach sein) inkl. riesige mengen an vordefinierten concepts, die neue for-schleife<br />
lambda-ausdrücke (woo-hoo)<br />
die multithreading bibliothek plus - neu: futures</p>
<p>ich hätte nicht gedacht, dass tatsächlich *alles* das aufgenommen werden kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1607939</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1607939</guid><dc:creator><![CDATA[queer_boy]]></dc:creator><pubDate>Fri, 31 Oct 2008 10:47:45 GMT</pubDate></item><item><title><![CDATA[Reply to C++0x is feature-complete! on Fri, 31 Oct 2008 10:57:58 GMT]]></title><description><![CDATA[<p>queer_boy schrieb:</p>
<blockquote>
<p>vielleicht noch schnell erwähnen, was denn nun tatsächlich drin ist (und es bis vor kurzem noch nicht war)<br />
benutzerdefinierte literale (yay!)<br />
concepts (ok, das *musste* einfach sein) inkl. riesige mengen an vordefinierten concepts, die neue for-schleife<br />
lambda-ausdrücke (woo-hoo)<br />
die multithreading bibliothek plus - neu: futures</p>
<p>ich hätte nicht gedacht, dass tatsächlich *alles* das aufgenommen werden kann.</p>
</blockquote>
<p>Lambda-Ausrücke sind drin? <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="😮"
    /> Als Sprachfeature oder über Templates?</p>
<p>Muß ich mir wohl doch noch mal den Draft genauer anschauen! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1607950</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1607950</guid><dc:creator><![CDATA[Bulli]]></dc:creator><pubDate>Fri, 31 Oct 2008 10:57:58 GMT</pubDate></item><item><title><![CDATA[Reply to C++0x is feature-complete! on Fri, 31 Oct 2008 11:04:45 GMT]]></title><description><![CDATA[<p>queer_boy schrieb:</p>
<blockquote>
<p>vielleicht noch schnell erwähnen, was denn nun tatsächlich drin ist (und es bis vor kurzem noch nicht war)<br />
benutzerdefinierte literale (yay!)<br />
concepts (ok, das *musste* einfach sein) inkl. riesige mengen an vordefinierten concepts, die neue for-schleife<br />
lambda-ausdrücke (woo-hoo)<br />
die multithreading bibliothek plus - neu: futures</p>
<p>ich hätte nicht gedacht, dass tatsächlich *alles* das aufgenommen werden kann.</p>
</blockquote>
<p>Threads finde ich mal richtig geil.</p>
<p>Was sind denn &quot;benutzerdefinierte Literale&quot;? Ich dachte, Literale sind immer benutzerdefiniert.</p>
<p>Edit: Ah ja, ich habs gefunden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1607952</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1607952</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Fri, 31 Oct 2008 11:04:45 GMT</pubDate></item><item><title><![CDATA[Reply to C++0x is feature-complete! on Fri, 31 Oct 2008 14:56:18 GMT]]></title><description><![CDATA[<p>Concepts <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /><br />
Threads sind natürlich auch gut, auch wenn boost die so schon bereitgestellt hat. Vielleicht bietet boost dann bald auf den Standard aufbauend higher-level Threading-Zeug. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608122</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608122</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 31 Oct 2008 14:56:18 GMT</pubDate></item><item><title><![CDATA[Reply to C++0x is feature-complete! on Fri, 31 Oct 2008 15:13:12 GMT]]></title><description><![CDATA[<p>Sind die Kompilate jetzt endlich mal Compiler unabhaenig(,d.h. kann man endlich Bibliotheken die mit z.b. GCC kompiliert wurden mit dem MSVC++ linken)?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608137</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608137</guid><dc:creator><![CDATA[Kompatibel]]></dc:creator><pubDate>Fri, 31 Oct 2008 15:13:12 GMT</pubDate></item><item><title><![CDATA[Reply to C++0x is feature-complete! on Fri, 31 Oct 2008 15:19:52 GMT]]></title><description><![CDATA[<p>Nein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608140</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608140</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Fri, 31 Oct 2008 15:19:52 GMT</pubDate></item><item><title><![CDATA[Reply to C++0x is feature-complete! on Fri, 31 Oct 2008 15:22:05 GMT]]></title><description><![CDATA[<p>Optimizer schrieb:</p>
<blockquote>
<p>Concepts <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /><br />
Threads sind natürlich auch gut, auch wenn boost die so schon bereitgestellt hat. Vielleicht bietet boost dann bald auf den Standard aufbauend higher-level Threading-Zeug. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
</blockquote>
<p>Warte einfach auf den TR2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608142</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608142</guid><dc:creator><![CDATA[Bulli]]></dc:creator><pubDate>Fri, 31 Oct 2008 15:22:05 GMT</pubDate></item><item><title><![CDATA[Reply to C++0x is feature-complete! on Fri, 31 Oct 2008 17:13:51 GMT]]></title><description><![CDATA[<p>apropos TR2 - ich finde die informationen nicht mehr auf den offiziellen seiten, was da jetzt genau aufgenommen werden soll (AFAIR war das auf den seiten zu state of C++ evolution) - wenn da jemand einen aktuellen link hat, das wäre ganz fein <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608179</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608179</guid><dc:creator><![CDATA[queer_boy]]></dc:creator><pubDate>Fri, 31 Oct 2008 17:13:51 GMT</pubDate></item><item><title><![CDATA[Reply to C++0x is feature-complete! on Fri, 31 Oct 2008 17:46:28 GMT]]></title><description><![CDATA[<p>Das es eine Liste gab, was in TR2 aufgenommen wird, ist mir so nicht bekannt. Es gab lediglich zu den eingereichten Themen hin und wieder einen Vermerk, das es für TR2 vorgemerkt wird. Aber der TR2 wurde ja sowieso erstmal zurück gestellt, weil man sich voll und ganz auf C++0x konzentrieren wollte. Danach geht es dann mit TR2 weiter.</p>
<p>Was aber bisher ein Kandidat für TR2 war: boost.date und boost.filesystem</p>
<p>boost.thread wurde bisher vorgeschlagen, aber immer zurück gewiesen (neuer Anlauf mit Verbesserungen wurde aber immer begrüsst!). boost.asio wurde auch mal vorgeschlagen, aber der TR2-Prozess wurde bekanntlich unterbrochen.</p>
<p>Diese Infos kann man immer ganz gut in der Boost-Mailingliste mitverfolgen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608190</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608190</guid><dc:creator><![CDATA[Bulli]]></dc:creator><pubDate>Fri, 31 Oct 2008 17:46:28 GMT</pubDate></item><item><title><![CDATA[Reply to C++0x is feature-complete! on Fri, 31 Oct 2008 19:15:52 GMT]]></title><description><![CDATA[<p>Bulli schrieb:</p>
<blockquote>
<p>Das es eine Liste gab, was in TR2 aufgenommen wird, ist mir so nicht bekannt. Es gab lediglich zu den eingereichten Themen hin und wieder einen Vermerk, das es für TR2 vorgemerkt wird. Aber der TR2 wurde ja sowieso erstmal zurück gestellt, weil man sich voll und ganz auf C++0x konzentrieren wollte. Danach geht es dann mit TR2 weiter.</p>
<p>Was aber bisher ein Kandidat für TR2 war: boost.date und boost.filesystem</p>
<p>boost.thread wurde bisher vorgeschlagen, aber immer zurück gewiesen (neuer Anlauf mit Verbesserungen wurde aber immer begrüsst!). boost.asio wurde auch mal vorgeschlagen, aber der TR2-Prozess wurde bekanntlich unterbrochen.</p>
<p>Diese Infos kann man immer ganz gut in der Boost-Mailingliste mitverfolgen.</p>
</blockquote>
<p>nein, es gab keine liste von dingen, die definitiv aufgenommen werden sollen; nur welche eben wahrscheinlich drin sein werden.<br />
schade, auch wenn sich die arbeit auf C++0x konzentriert, muss man ja diese info nicht gleich völlig zurückziehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608228</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608228</guid><dc:creator><![CDATA[queer_boy]]></dc:creator><pubDate>Fri, 31 Oct 2008 19:15:52 GMT</pubDate></item><item><title><![CDATA[Reply to C++0x is feature-complete! on Fri, 31 Oct 2008 22:05:46 GMT]]></title><description><![CDATA[<p>Bulli schrieb:</p>
<blockquote>
<p>Lambda-Ausrücke sind drin? <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="😮"
    /> Als Sprachfeature oder über Templates?</p>
</blockquote>
<p>Falls du es noch nicht gefunden hast oder auch ein anderer sich das fragt. Die sind als Sprachfeature drin, also keine templates wie bei Boost. Wir haben ja sogar einen Artikel im Magazin:<br />
<a href="http://magazin.c-plusplus.net/artikel/CPlusPlus09%20(Teil%201)%20-%20Ein%20%DCberblick%3A%20Sprachfeatures" rel="nofollow">http://magazin.c-plusplus.net/artikel/CPlusPlus09%20(Teil%201)%20-%20Ein%20%DCberblick%3A%20Sprachfeatures</a></p>
<p>So schön und absolut geil der neue Standard auch wird, so hat es meiner Meinung schon zwei ziemlich negative Punkte.<br />
1. Wird es wohl Ewigkeiten dauern, bis die Compiler den neuen Standard völlig unterstützen.<br />
2. Es fehlen immer noch gewisse wesentliche Punkte. Als Beispiel kann man da wohl eine bessere Datum&amp;Zeit Bibliothek nennen oder eine bessere String Unterstützung. Wie haben nun UTF-8/16/32 Strings, aber können wir die sinnvoll vergleichen?</p>
<p>Naja, aber immerhin geht es voran <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Und ich bin schon ganz gespannt, wie es mit den neuen Features sein wird, beim Programmieren. Kann es kaum erwarten ...</p>
<p>Könnte mir im übrigen jemand einen guten Artikel zu den Futures zeigen? So ganz habe ich die noch nicht begriffen.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608281</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608281</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Fri, 31 Oct 2008 22:05:46 GMT</pubDate></item><item><title><![CDATA[Reply to C++0x is feature-complete! on Sat, 01 Nov 2008 12:20:57 GMT]]></title><description><![CDATA[<p>wänn kann ich mit einem ersten experimentalen compiler für diesen draft rechnen? würde sehr gerne mit den neuen features spielen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608480</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608480</guid><dc:creator><![CDATA[frager_]]></dc:creator><pubDate>Sat, 01 Nov 2008 12:20:57 GMT</pubDate></item><item><title><![CDATA[Reply to C++0x is feature-complete! on Sat, 01 Nov 2008 13:24:10 GMT]]></title><description><![CDATA[<p>Die ersten C++0x-Features sind ja bereits in den gängigen Compilern verfügbar. Z.B. kann der MSVC2005 (8.0) schon die doppelten spitzen Klammern bei Templates:</p>
<pre><code class="language-cpp">vector&lt;vector&lt;int&gt;&gt; vec;
</code></pre>
<p>Die MSVC9.0-Developer Preview kann schon das auto-Schlüsselwort:</p>
<pre><code class="language-cpp">for(auto i = vec.begin(); i != vec.end(); i++)
</code></pre>
<p>Es wird sicherlich nicht alles auf einmal umgesetzt werden, aber die Compiler-Hersteller haben dieses Mal bei der Standardisierung viel mehr mitgeredet. Außerdem wurden schon viele Features vorher ausprobiert, wie die Concepts (kann jeder mit dem ConceptsGCC ausprobieren). Selbst Codegears aktueller C++-Compile unterstützt schon C++0x-Features, obwohl gerade dieser Compiler sehr lange nicht standardkonform war.</p>
<p>Ich schätze mal 2013 werden die gängigen Compiler das meiste abdecken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608528</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608528</guid><dc:creator><![CDATA[Bulli]]></dc:creator><pubDate>Sat, 01 Nov 2008 13:24:10 GMT</pubDate></item><item><title><![CDATA[Reply to C++0x is feature-complete! on Sat, 01 Nov 2008 13:26:01 GMT]]></title><description><![CDATA[<p>frager_ schrieb:</p>
<blockquote>
<p>wänn kann ich mit einem ersten experimentalen compiler für diesen draft rechnen? würde sehr gerne mit den neuen features spielen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
</blockquote>
<p>Der GCC ist da wohl am weitesten <a href="http://gcc.gnu.org/projects/cxx0x.html" rel="nofollow">http://gcc.gnu.org/projects/cxx0x.html</a>. Concepts und Lambdas sind aber noch eigene Branches.</p>
<p>@Optimizer<br />
Boost.Threads wurde in 1.36 schon ein wenig an C++0x angepasst. Aber da wird sicher in den nächsten Jahren in Boost generell einiges kommen. Interessant wäre vor allem die Frage, wie die bei Boost den Übergang regeln wollen. Wird es ein Boost2 geben, welches speziell für C++0x ist (also unnötigen Libs raus und Libs speziell für C++0x rein) und ein Boost1, welches sich eher an C++98/03 richtet, aber optional auch C++0x-Features nutzt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608529</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608529</guid><dc:creator><![CDATA[rüdiger]]></dc:creator><pubDate>Sat, 01 Nov 2008 13:26:01 GMT</pubDate></item><item><title><![CDATA[Reply to C++0x is feature-complete! on Sat, 01 Nov 2008 13:26:07 GMT]]></title><description><![CDATA[<p>Sorry, meinte die MSVC10.0-Preview, nicht 9.0!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608530</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608530</guid><dc:creator><![CDATA[Bulli]]></dc:creator><pubDate>Sat, 01 Nov 2008 13:26:07 GMT</pubDate></item><item><title><![CDATA[Reply to C++0x is feature-complete! on Sat, 01 Nov 2008 13:42:32 GMT]]></title><description><![CDATA[<p>Dravere schrieb:</p>
<blockquote>
<p>Könnte mir im übrigen jemand einen guten Artikel zu den Futures zeigen? So ganz habe ich die noch nicht begriffen.</p>
</blockquote>
<p>Zu denen in C++ nicht, aber eine Erläuterung eines vergleichbaren Features in <a href="http://www.bitwisemag.com/2/Delphi-Prism-Visual-Studio-Pascal" rel="nofollow">Delphi Prism</a>:</p>
<p>marc hoffman schrieb:</p>
<blockquote>
<p>For example, just recently introduced in Oxygene, there are &quot;future&quot; types, &quot;async&quot; blocks and expressions and &quot;parallel&quot; loops; these make it really easy to write applications that scale out to systems with many CPUs or cores. This is something that will get tremendously important in the near future, as CPU speeds no longer increase, but instead systems get more (and sometimes slower) CPUs. Microsoft is adding infrastructure to leverage this in .NET 4.0, called the &quot;Parallel Framework&quot;, or &quot;PFX&quot;. The PFX is really just a bunch of classes and functions you can call, but for Prism we went the extra mile to integrate these concepts into the language. So for example, you can now declare a variable to be of a &quot;future&quot; type - which means it will behave very much like a normal variable of a given type, except for one thing: it’s value will be calculated at some point in the future, possibly on a different thread.</p>
<p>So you can write, for instance:</p>
<pre><code>method BinaryTreeNode.Sum: Int32;
begin
   var leftSum: future Int32 := async Left.Sum();
   var rightSum: Int32 := Right.Sum();
   result := Value+leftSum+rightSum;
end;
</code></pre>
<p>What we’re doing here is calculating the sum of a binary tree, by basically calculating the left and right side, and then adding everything together. But rather then first calculating Left and waiting for that to return, we do that asynchronously. As a result, leftSum is not a plain Int32, but a future Int32 - meaning a variable that, at some point in the future, will contain the result of our calculation. The hope is that - given enough CPU cores - this value will be calculated by some other thread, while we’re busy calculating rightSum.</p>
<p>The important part is the last statement. As you can see, we’re using leftSum as part of a longer expression here. The takeaway point is that, even though it’s a future, you can work with leftSum as if it were a plain integer. You can do math on it, you could call it’s member methods, etc. The compiler and the runtime will of course take care that at the time you need the value of leftSum, it will be calculated.</p>
</blockquote>
<p>In C++ wird das natürlich kein Sprach-, sondern ein Library-Feature. Spezifikationsdetails findest du <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2276.html" rel="nofollow">hier</a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608540</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608540</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Sat, 01 Nov 2008 13:42:32 GMT</pubDate></item><item><title><![CDATA[Reply to C++0x is feature-complete! on Sat, 01 Nov 2008 14:23:26 GMT]]></title><description><![CDATA[<p>die genauen regeln kenne ich auch nicht, aber als beispiel wird es wohl ca. so aussehen, dass du ein &quot;versprechen&quot; (std::promise) machst, ein bestimmtes ergebnis zu liefern (dargestellt durch std::future). sobald die berechnung komplett ist, kannst du über dein std::unique_future auf das ergebnis zugreifen, und zwar thread-safe.</p>
<pre><code class="language-cpp">#include &lt;future&gt;
using namespace std;

int main ()
{
   promise&lt;int&gt; pi;
   unique_future&lt;int&gt; fu = pi.get_future();

   pi.set_value (42); //happens-before
   int value = fu.get();
}
</code></pre>
<p>das ist natürlich ein sinnfreies beispiel, aber es ist nicht schwer, das promise in einen (mehrere) threads zur bearbeitung zu übergeben bzw. in mehreren threads über std::shared_future darauf zuzugreifen.<br />
interessant wird es erst wie folgt:</p>
<pre><code class="language-cpp">#include &lt;thread&gt;
#include &lt;future&gt;
using namespace std;

int main ()
{
   promise&lt;int&gt; pi;
   unique_future&lt;int&gt; fu = pi.get_future();

   thread data { [&amp;] () (pi.set_value(do_sth_dumb())) };
   thread output { [&amp;] () (cout &lt;&lt; fu.get() &lt;&lt; endl) };

   output.join();
}
</code></pre>
<p>bin mir wie gesagt über die verwendung davon noch nicht ganz sicher, aber wenn es tatsächlich so funktionieren sollte, dann werden multithreading programme in C++ sehr leicht zu verwenden sein.</p>
<p>PS. das template std::packaged_task übernimmt die funktion, die ich hier mit einzelnen std::threads nachgebildet habe (also starten eines funktionsobjekts in einem neuen thread, dessen rückgabewert als wert eines promise gesetzt wird + liefern eines passenden futures) - aber ich glaube mich zu erinnern, dass packaged_task wieder aus dem draft entfernt werden soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608556</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608556</guid><dc:creator><![CDATA[queer_boy]]></dc:creator><pubDate>Sat, 01 Nov 2008 14:23:26 GMT</pubDate></item><item><title><![CDATA[Reply to C++0x is feature-complete! on Sat, 01 Nov 2008 14:29:34 GMT]]></title><description><![CDATA[<p>queer_boy schrieb:</p>
<blockquote>
<p>... aber ich glaube mich zu erinnern, dass packaged_task wieder aus dem draft entfernt werden soll.</p>
</blockquote>
<p>Ne, ist im letzten Draft noch drin ...</p>
<p>Danke für die Erklärungen, dann ist es wirklich das, was ich gedacht hatte. Grundsätzlich ist es einfach eine extreme Vereinfachung von parallelen Berechnungen? Die Threads warten einfach bei einem <code>get</code> darauf, bis ein anderer Thread den Wert des Futures setzt?<br />
Wäre definitiv äusserst praktisch. Ich habe derzeit selber solche Dinge bereits implementiert, aber bei mir sieht das ausgeprochen komplex aus und ist immer noch sehr unhantlich <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Dann freue ich mich um ein Feature mehr auf den neuen Standard <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608564</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608564</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sat, 01 Nov 2008 14:29:34 GMT</pubDate></item><item><title><![CDATA[Reply to C++0x is feature-complete! on Sat, 01 Nov 2008 14:35:43 GMT]]></title><description><![CDATA[<p>rüdiger schrieb:</p>
<blockquote>
<p>frager_ schrieb:</p>
<blockquote>
<p>wänn kann ich mit einem ersten experimentalen compiler für diesen draft rechnen? würde sehr gerne mit den neuen features spielen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
</blockquote>
<p>Der GCC ist da wohl am weitesten <a href="http://gcc.gnu.org/projects/cxx0x.html" rel="nofollow">http://gcc.gnu.org/projects/cxx0x.html</a>. Concepts und Lambdas sind aber noch eigene Branches.</p>
<p>@Optimizer<br />
Boost.Threads wurde in 1.36 schon ein wenig an C++0x angepasst. Aber da wird sicher in den nächsten Jahren in Boost generell einiges kommen. Interessant wäre vor allem die Frage, wie die bei Boost den Übergang regeln wollen. Wird es ein Boost2 geben, welches speziell für C++0x ist (also unnötigen Libs raus und Libs speziell für C++0x rein) und ein Boost1, welches sich eher an C++98/03 richtet, aber optional auch C++0x-Features nutzt?</p>
</blockquote>
<p>Ja, wahrscheinlich wird das demnächst heiß diskutiert. Ich vermute, sie werden die &quot;alten&quot; Compiler nicht so schnell fallen lassen. Angenommen es gibt higher-level Threadzeug, dann wird es für die alten Compiler vielleicht auf boost.thread basieren und für die neuen auf std.thread. Nur wenn man dann die Möglichkeit haben soll, das thread-Objekt zu getten wird es haarig. Letzteres wird dann vielleicht bewusst erstmal ausgespart, ansonsten kann man ja die gleiche Schnittstelle bereitstellen.</p>
<p>So Sachen wie thread selber oder bind könnte dann auch so aussehen:</p>
<pre><code class="language-cpp">#ifdef MSVC_10
#include &lt;bind&gt;
#else
...
#endif
</code></pre>
<p>Aber stimmt schon, ich bin auch gespannt wie sie es machen werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608568</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608568</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sat, 01 Nov 2008 14:35:43 GMT</pubDate></item><item><title><![CDATA[Reply to C++0x is feature-complete! on Sat, 01 Nov 2008 14:50:24 GMT]]></title><description><![CDATA[<p>es gibt übrigens ein standard-makro für die version des standards:</p>
<pre><code class="language-cpp">cout &lt;&lt; __cplusplus &lt;&lt; endl;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1608573</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608573</guid><dc:creator><![CDATA[queer_boy]]></dc:creator><pubDate>Sat, 01 Nov 2008 14:50:24 GMT</pubDate></item><item><title><![CDATA[Reply to C++0x is feature-complete! on Sat, 01 Nov 2008 17:07:01 GMT]]></title><description><![CDATA[<p>Hmm? Also eigentlich nicht. __cplusplus ist normalerweise einfach irgendwas != 0. Haben die das für C++0x geändert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608648</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608648</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Sat, 01 Nov 2008 17:07:01 GMT</pubDate></item><item><title><![CDATA[Reply to C++0x is feature-complete! on Sat, 01 Nov 2008 17:37:38 GMT]]></title><description><![CDATA[<p>es sollte zumindest bei standardkonformen compilern 199711 sein, in C++0x dann eben 200912 oder so)</p>
<p>das problem ist wohl, dass kein compiler wirklich standardkonform ist (export), was aber schade ist, da so sogar das makro unnütz ist.<br />
hm...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608668</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608668</guid><dc:creator><![CDATA[queer_boy]]></dc:creator><pubDate>Sat, 01 Nov 2008 17:37:38 GMT</pubDate></item><item><title><![CDATA[Reply to C++0x is feature-complete! on Sat, 01 Nov 2008 18:36:09 GMT]]></title><description><![CDATA[<p>queer_boy schrieb:</p>
<blockquote>
<p>das problem ist wohl, dass kein compiler wirklich standardkonform ist (export), was aber schade ist, da so sogar das makro unnütz ist.</p>
</blockquote>
<p>Was ist eigentlich aus diesem <code>export</code> geworden? Ist es weiterhin fester Bestandteil des neuen Standards oder wurde es als obsolete markiert? Letzteres würde mich freuen, da wir bisher bekanntlich auch gut ohne <code>export</code> ausgekommen sind. Nun vernünftig umsetzbare Features sollten entfernt werden, da sie die weitere Entwicklung des Standards behindern <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608684</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608684</guid><dc:creator><![CDATA[*rant*]]></dc:creator><pubDate>Sat, 01 Nov 2008 18:36:09 GMT</pubDate></item><item><title><![CDATA[Reply to C++0x is feature-complete! on Sat, 01 Nov 2008 22:12:40 GMT]]></title><description><![CDATA[<p>/rant/ schrieb:</p>
<blockquote>
<p>Was ist eigentlich aus diesem <code>export</code> geworden? Ist es weiterhin fester Bestandteil des neuen Standards oder wurde es als obsolete markiert? Letzteres würde mich freuen, da wir bisher bekanntlich auch gut ohne <code>export</code> ausgekommen sind.</p>
</blockquote>
<p>AFAIK wird am Status von export nichts geändert. Außerdem ist es so ganz unnütz meiner Ansicht nach nicht; spätestens, wenn man zu Modulen als Ablösung des bisherigen Header-Konzeptes kommt, dürfte wieder darüber geredet werden.</p>
<p>Implementierbar ist es übrigens auch. Die Generics in <a href="http://www.codegear.com/products/delphi/win32" rel="nofollow">Delphi 2009</a> sind im Prinzip sowie in technischer Hinsicht die Delphi-Variante von export templates.</p>
<p>/rant/ schrieb:</p>
<blockquote>
<p>Nun vernünftig umsetzbare Features sollten entfernt werden, da sie die weitere Entwicklung des Standards behindern <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
</blockquote>
<p>?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608761</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608761</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Sat, 01 Nov 2008 22:12:40 GMT</pubDate></item><item><title><![CDATA[Reply to C++0x is feature-complete! on Sat, 01 Nov 2008 22:16:29 GMT]]></title><description><![CDATA[<p>audacia schrieb:</p>
<blockquote>
<p>Implementierbar ist es übrigens auch.</p>
</blockquote>
<p>Aber nicht so wie vom Standard vorgesehen. Meines Wissens gibt es nur sehr wenige Compiler, die dieses Feature unterstützen (Comeau). Und selbst dort ist es nicht gerade sauber gelöst, sodass man oft sogar noch längere Kompilierzeiten mit <code>export</code> in Kauf nimmt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1608762</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1608762</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 01 Nov 2008 22:16:29 GMT</pubDate></item></channel></rss>