<?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++17]]></title><description><![CDATA[<p>Auf welche Features von C++17 freut ihr euch am meisten?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/338926/c-17</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Apr 2026 13:09:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/338926.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 22 Jul 2016 08:20:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to C++17 on Fri, 22 Jul 2016 08:20:59 GMT]]></title><description><![CDATA[<p>Auf welche Features von C++17 freut ihr euch am meisten?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2502999</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2502999</guid><dc:creator><![CDATA[prrrrrrrrroogg]]></dc:creator><pubDate>Fri, 22 Jul 2016 08:20:59 GMT</pubDate></item><item><title><![CDATA[Reply to C++17 on Sat, 23 Jul 2016 08:52:27 GMT]]></title><description><![CDATA[<p>*push*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2503123</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2503123</guid><dc:creator><![CDATA[prrrrrrrrroogg]]></dc:creator><pubDate>Sat, 23 Jul 2016 08:52:27 GMT</pubDate></item><item><title><![CDATA[Reply to C++17 on Sat, 23 Jul 2016 10:19:43 GMT]]></title><description><![CDATA[<p>werden die concepts es noch in C++17 schaffen oder endgültig nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2503129</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2503129</guid><dc:creator><![CDATA[versionsnummer]]></dc:creator><pubDate>Sat, 23 Jul 2016 10:19:43 GMT</pubDate></item><item><title><![CDATA[Reply to C++17 on Sat, 23 Jul 2016 10:51:25 GMT]]></title><description><![CDATA[<p>Die Features, auf die ich mich am meisten gefreut hätte, sind nicht in C++17 vorhanden sondern separate Technical Specifications (Concepts, Ranges).</p>
<p>C++17 haut mich jetzt nicht so von den Socken. Ich muss aber zugeben, dass ich da wahrscheinlich auch nicht den kompletten Überblick habe, was bei C++17 alles neu ist. Ich finde die eine oder andere Bibliotheks-Erweiterung zumindest gut: optional, variant, string_view.</p>
<p>Allerdings ist ein <code>variant</code> ggf. in einem invaliden Zustand. Damit meine ich, dass ein <code>variant&lt;string,Foo&gt;</code> ggf weder einen <code>string</code> noch einen <code>Foo</code> Wert speichert. Das ist schon schade. Aber man muss sich schon anstrengen, um so einen Zustand zu erreichen. In Rust umgeht man das Problem, weil das Moven eines Wertes von A nach B nie schiefgehen kann. In C++ kann</p>
<pre><code class="language-cpp">Foo a = ...;
   Foo b = std::move(a);
</code></pre>
<p>ja eine Ausnahme werfen -- entweder, weil Foo gar keinen Move Ctor hat und der Copy Ctor schmeißt eine Ausnahme, oder weil Foo einen Ausnahme-schmeißenden Move-Ctor hat.</p>
<p>Es gibt ja jetzt auch ein &quot;destructuring bind&quot;:</p>
<pre><code class="language-cpp">auto blah(double) -&gt; pair&lt;double, int&gt;;

void cxx11() {
    double mantissa;
    int exponent;
    std::tie(mantissa, exponent) = blah(3.14159265);
}

void cxx17() {
    auto [mantissa, exponent] = blah(3.14159265);
}
</code></pre>
<p>Das ist nett. Das Zurückgeben von mehreren Werten aus einer Funktion ist damit ergonomischer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2503131</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2503131</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Sat, 23 Jul 2016 10:51:25 GMT</pubDate></item><item><title><![CDATA[Reply to C++17 on Sat, 23 Jul 2016 10:50:22 GMT]]></title><description><![CDATA[<p>versionsnummer schrieb:</p>
<blockquote>
<p>werden die concepts es noch in C++17 schaffen oder endgültig nicht?</p>
</blockquote>
<p><a href="http://honermann.net/blog/2016/03/06/why-concepts-didnt-make-cxx17/" rel="nofollow">http://honermann.net/blog/2016/03/06/why-concepts-didnt-make-cxx17/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2503132</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2503132</guid><dc:creator><![CDATA[sdfds]]></dc:creator><pubDate>Sat, 23 Jul 2016 10:50:22 GMT</pubDate></item><item><title><![CDATA[Reply to C++17 on Sat, 23 Jul 2016 18:57:58 GMT]]></title><description><![CDATA[<ol>
<li><a href="https://isocpp.org/files/papers/n4268.html" rel="nofollow">constant evaluation for all non-type template arguments</a></li>
<li><a href="https://isocpp.org/files/papers/n4295.html" rel="nofollow">fold expressions</a></li>
</ol>
]]></description><link>https://www.c-plusplus.net/forum/post/2503193</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2503193</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Sat, 23 Jul 2016 18:57:58 GMT</pubDate></item><item><title><![CDATA[Reply to C++17 on Mon, 25 Jul 2016 08:57:52 GMT]]></title><description><![CDATA[<p>Wie sieht es mit der eliminierung der Headers aus? Module?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2503402</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2503402</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Mon, 25 Jul 2016 08:57:52 GMT</pubDate></item><item><title><![CDATA[Reply to C++17 on Mon, 25 Jul 2016 09:26:17 GMT]]></title><description><![CDATA[<p>Artchi schrieb:</p>
<blockquote>
<p>Wie sieht es mit der eliminierung der Headers aus? Module?</p>
</blockquote>
<p>Wut? Oh noes!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2503406</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2503406</guid><dc:creator><![CDATA[ziege]]></dc:creator><pubDate>Mon, 25 Jul 2016 09:26:17 GMT</pubDate></item><item><title><![CDATA[Reply to C++17 on Mon, 25 Jul 2016 09:52:52 GMT]]></title><description><![CDATA[<p>Ich bin ein bisschen enttäuscht vom Umfang von C++17.<br />
- Ich erwarte nicht, dass Networking TS es schafft, falls doch freu ich mich<br />
darauf. (Bitte bis November 2016!)<br />
- Filesystem war überfällig, ist jetzt aber nichts neues, wegen boost<br />
- fold expressions<br />
- typename in template template Parametern war überfällig.<br />
- optional ist überfällig<br />
- erase_if (ersatz des erase, remove_if)<br />
- Nested namespace definition fühlt sich überfällig an</p>
<p>und ich glaube std::string_view wird sich relativ schnell in mein Herz schleichen ;).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2503411</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2503411</guid><dc:creator><![CDATA[5cript]]></dc:creator><pubDate>Mon, 25 Jul 2016 09:52:52 GMT</pubDate></item><item><title><![CDATA[Reply to C++17 on Mon, 25 Jul 2016 10:32:25 GMT]]></title><description><![CDATA[<p>5cript schrieb:</p>
<blockquote>
<p>und ich glaube std::string_view wird sich relativ schnell in mein Herz schleichen ;).</p>
</blockquote>
<p>hat es bei mir schon lange - wobei ich ja span/string_span aus der GSL noch besser fände. wird es aber wohl auch nicht mehr in C++17 schaffen. genausowenig wie die coroutines-TS, auf den ich mich von allen neuerungen am meisten freue, mehr noch als auf concepts. ich find aber auch generell die TS dieses mal viel interessanter als den neuen standard. auch den modules-TS.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2503414</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2503414</guid><dc:creator><![CDATA[dove]]></dc:creator><pubDate>Mon, 25 Jul 2016 10:32:25 GMT</pubDate></item><item><title><![CDATA[Reply to C++17 on Mon, 25 Jul 2016 11:31:38 GMT]]></title><description><![CDATA[<p>Ich freu mich am meisten auf Networking und Filesystem. Oh, und fold expressions sind auch ganz cool. Oh, und Concepts! Falls es das noch bis C++17 alles schafft.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2503421</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2503421</guid><dc:creator><![CDATA[Ziege]]></dc:creator><pubDate>Mon, 25 Jul 2016 11:31:38 GMT</pubDate></item><item><title><![CDATA[Reply to C++17 on Mon, 25 Jul 2016 11:32:59 GMT]]></title><description><![CDATA[<p>Und dieses auto[x, y, z] = ... sieht auch ganz cool aus.<br />
Erinnert mich ein wenig an Python.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2503422</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2503422</guid><dc:creator><![CDATA[Ziege]]></dc:creator><pubDate>Mon, 25 Jul 2016 11:32:59 GMT</pubDate></item><item><title><![CDATA[Reply to C++17 on Mon, 25 Jul 2016 13:34:11 GMT]]></title><description><![CDATA[<p>Networking, Filesystem usw. sind doch nicht so spannend, da man die doch schon immer über 3rd Parties (Boost usw.) einbinden konnte.</p>
<p>Ich halte es für wichtiger, wenn man der Sprache gearbeitet wird. Z.B. das endlich die Modules einzug halten. Die Header widersprechen total dem DRY-Grundsatz, schrecklich! 2017 muss man wirklich nicht noch mit Headern rum hantieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2503434</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2503434</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Mon, 25 Jul 2016 13:34:11 GMT</pubDate></item><item><title><![CDATA[Reply to C++17 on Mon, 25 Jul 2016 13:40:12 GMT]]></title><description><![CDATA[<p>Artchi schrieb:</p>
<blockquote>
<p>Networking, Filesystem usw. sind doch nicht so spannend, da man die doch schon immer über 3rd Parties (Boost usw.) einbinden konnte.</p>
</blockquote>
<p>Curl/Boost.{Asio,Filesystem} fand ich schon immer recht cool. Hat einfach immer und immer wieder Spaß gemacht, damit zu arbeiten. Und weiterhin noch draufzubauen.</p>
<blockquote>
<p>Ich halte es für wichtiger, wenn man der Sprache gearbeitet wird. Z.B. das endlich die Modules einzug halten. Die Header widersprechen total dem DRY-Grundsatz, schrecklich! 2017 muss man wirklich nicht noch mit Headern rum hantieren.</p>
</blockquote>
<p>Das war mir garnicht bewusst, das mit den Modulen. Wie das wohl aussehen wird. *lemme see*<br />
Also ich kannte nie was anderes als Header, hab ein Leben lang fast nur mit C und C++ hantiert und ich fühl mich wohl mit Headern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2503435</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2503435</guid><dc:creator><![CDATA[Ziege]]></dc:creator><pubDate>Mon, 25 Jul 2016 13:40:12 GMT</pubDate></item><item><title><![CDATA[Reply to C++17 on Mon, 25 Jul 2016 14:00:09 GMT]]></title><description><![CDATA[<p>Ziege schrieb:</p>
<blockquote>
<p>Also ich kannte nie was anderes als Header, hab ein Leben lang fast nur mit C und C++ hantiert und ich fühl mich wohl mit Headern.</p>
</blockquote>
<p>Also ich finde das wie man es in Java macht ekelhaft.<br />
de.bla. ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2503439</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2503439</guid><dc:creator><![CDATA[5cript]]></dc:creator><pubDate>Mon, 25 Jul 2016 14:00:09 GMT</pubDate></item><item><title><![CDATA[Reply to C++17 on Mon, 25 Jul 2016 14:45:36 GMT]]></title><description><![CDATA[<p>5cript schrieb:</p>
<blockquote>
<p>Wehe ihr lest meine alten posts ! <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>
</blockquote>
<p>Ich habe sie mir angeguckt und dafür nur drei Worte:<br />
Oh mein Gott! <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/2503442</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2503442</guid><dc:creator><![CDATA[GottJesusGeist]]></dc:creator><pubDate>Mon, 25 Jul 2016 14:45:36 GMT</pubDate></item><item><title><![CDATA[Reply to C++17 on Mon, 25 Jul 2016 15:08:35 GMT]]></title><description><![CDATA[<p>im aktuellen proposal zu den modulen sind die &quot;bloß&quot; eine ergänzung zu den header. funktioniert im prinzip so:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;cwhatever&gt;

module foobar; //bis hierhin ganz gewöhnlich
//ab hier ist alles teil eines moduls.

export void fun(); //teil des interfaces des moduls
void bar(); //nicht teil des interfaces

import quuz; //importiert alle im modul quuz exportierten symbole
</code></pre>
<p>nicht kompliziert, nicht aufwändig, aber mächtig - allerdings fürchte ich mich ein bisschen davor, auf den kompilier-kaffee verzichten zu müssen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2503443</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2503443</guid><dc:creator><![CDATA[dove]]></dc:creator><pubDate>Mon, 25 Jul 2016 15:08:35 GMT</pubDate></item><item><title><![CDATA[Reply to C++17 on Mon, 25 Jul 2016 17:44:59 GMT]]></title><description><![CDATA[<p>bei ranged for:<br />
end() kann endlich einen anderen Typ als begin() haben.<br />
Das spart jede Menge Dazuerfindung von Iteratorwerten für Generatoren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2503452</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2503452</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Mon, 25 Jul 2016 17:44:59 GMT</pubDate></item><item><title><![CDATA[Reply to C++17 on Tue, 26 Jul 2016 13:20:30 GMT]]></title><description><![CDATA[<p>GottJesusGeist schrieb:</p>
<blockquote>
<p>5cript schrieb:</p>
<blockquote>
<p>Wehe ihr lest meine alten posts ! <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>
</blockquote>
<p>Ich habe sie mir angeguckt und dafür nur drei Worte:<br />
Oh mein Gott! <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>da war ich 14 <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>&lt;/offtopic&gt;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2503516</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2503516</guid><dc:creator><![CDATA[5cript]]></dc:creator><pubDate>Tue, 26 Jul 2016 13:20:30 GMT</pubDate></item><item><title><![CDATA[Reply to C++17 on Tue, 26 Jul 2016 14:06:09 GMT]]></title><description><![CDATA[<p>Die Modules scheinen aber kein Ersatz für Headers zu sein, oder? Kann es sein, das die nachher nur für den User-Code sind? Aber Header und Cpp-Datei weiterhin geschrieben werden müssen? Also das man alles so wie bisher macht, am Ende dem Tool sagt, das es daraus ein Module generieren muss? Nicht das was ich mir erhofft habe (doppelte Arbeit sparen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2503522</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2503522</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Tue, 26 Jul 2016 14:06:09 GMT</pubDate></item><item><title><![CDATA[Reply to C++17 on Tue, 26 Jul 2016 14:58:46 GMT]]></title><description><![CDATA[<blockquote>
<p>Aber Header und Cpp-Datei weiterhin geschrieben werden müssen?</p>
</blockquote>
<p>und das hätte dann welchen Vorteil?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2503530</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2503530</guid><dc:creator><![CDATA[Gast3]]></dc:creator><pubDate>Tue, 26 Jul 2016 14:58:46 GMT</pubDate></item><item><title><![CDATA[Reply to C++17 on Tue, 26 Jul 2016 15:47:23 GMT]]></title><description><![CDATA[<p>Artchi schrieb:</p>
<blockquote>
<p>Die Modules scheinen aber kein Ersatz für Headers zu sein, oder? Kann es sein, das die nachher nur für den User-Code sind? Aber Header und Cpp-Datei weiterhin geschrieben werden müssen? Also das man alles so wie bisher macht, am Ende dem Tool sagt, das es daraus ein Module generieren muss? Nicht das was ich mir erhofft habe (doppelte Arbeit sparen).</p>
</blockquote>
<p>so wie ich das sehe - schon. nur kann und soll es auch weiterhin header geben. header sind ja nichts anderes als dateien, die zu einer übersetzungseinheit (ÜE) verwurstet werden. so wie ich es verstehe, wird man zukünftig für eine ÜE definieren können, dass teile von dieser als modul zu verstehen sind (auch: ein modul kann sich über mehrere ÜE erstrecken), wobei bestimmte symbole aus dem modul heraus exportiert werden können, die der compiler dann sieht. angeblich soll es sogar versuche geben, ein einheitliches format für die module über die compiler-hersteller hinweg zu definieren.</p>
<p>headerdateien wird es weiterhin geben und sie werden auch weiterhin ihre berechtigung haben. ca. genauso wie makros.</p>
<p>im detail kenne ich den aktuellen stand des proposals aber nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2503532</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2503532</guid><dc:creator><![CDATA[dove]]></dc:creator><pubDate>Tue, 26 Jul 2016 15:47:23 GMT</pubDate></item><item><title><![CDATA[Reply to C++17 on Tue, 26 Jul 2016 15:51:32 GMT]]></title><description><![CDATA[<p>Doch, Modules ersetzen Header. Das ist Sinn der Sache. Mit Visual Studio kann <a href="https://blogs.msdn.microsoft.com/vcblog/2015/12/03/c-modules-in-vs-2015-update-1/" rel="nofollow">man das sogar schon ausprobieren</a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2503533</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2503533</guid><dc:creator><![CDATA[TyRoXx]]></dc:creator><pubDate>Tue, 26 Jul 2016 15:51:32 GMT</pubDate></item><item><title><![CDATA[Reply to C++17 on Tue, 26 Jul 2016 15:55:10 GMT]]></title><description><![CDATA[<p>TyRoXx schrieb:</p>
<blockquote>
<p>Doch, Modules ersetzen Header. Das ist Sinn der Sache. Mit Visual Studio kann <a href="https://blogs.msdn.microsoft.com/vcblog/2015/12/03/c-modules-in-vs-2015-update-1/" rel="nofollow">man das sogar schon ausprobieren</a>.</p>
</blockquote>
<p>Im C++ Sinn eher Ergänzen als Ersetzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2503534</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2503534</guid><dc:creator><![CDATA[Zeus]]></dc:creator><pubDate>Tue, 26 Jul 2016 15:55:10 GMT</pubDate></item><item><title><![CDATA[Reply to C++17 on Tue, 26 Jul 2016 19:51:55 GMT]]></title><description><![CDATA[<p>krümelkacker schrieb:</p>
<blockquote>
<p>Es gibt ja jetzt auch ein &quot;destructuring bind&quot;:</p>
<pre><code class="language-cpp">void cxx17() {
    auto [mantissa, exponent] = blah(3.14159265);
}
</code></pre>
<p>Das ist nett. Das Zurückgeben von mehreren Werten aus einer Funktion ist damit ergonomischer.</p>
</blockquote>
<p>Echt, sowas soll kommen?</p>
<p>Wozu braucht man da dann noch das <code>auto</code> , das sieht irgendwie sehr seltsam aus... geht das dann nur mit <code>auto</code> oder kann man die einzelnen Typen auch explizit angeben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2503577</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2503577</guid><dc:creator><![CDATA[happystudent]]></dc:creator><pubDate>Tue, 26 Jul 2016 19:51:55 GMT</pubDate></item></channel></rss>