Montag, 17. Juli 2017

Programmiersprachen: Erste Pläne für C++20 veröffentlicht

Programmiersprachen: Erste Pläne für C++20 veröffentlicht

17.07.2017 10:43 Uhr Rainald Menge-Sonnentag

Nachdem das ISO-C++-Komitee den Sprachstandard C++17 auf dem Winter-Treffen technisch abgeschlossen hatte, wurden nun im Sommer-Meeting erste konkrete Pläne für C++20 beschlossen. Unter anderem sind Concepts Bestandteil des Drafts.

Mitte Juli traf sich das ISO-C++-Komitee in Toronto. Insgesamt 120 Teilnehmer diskutierten sechs Tage lang die Zukunft der Programmiersprache. Der für die Einberufung des Komitees zuständige C++-Experte Herb Sutter hat in seinem Blog nun erste Pläne für C++20 veröffentlicht, nachdem das Komitee auf dem Winter-Treffen im März den Sprachstandard für C++17 technisch abgeschlossen hatte.

Das erste große Sprachfeature kommt durch die Aufnahme einer separaten Spezifikation hinzu: Die Concepts Technical Specification (TS) ist nun Bestandteil des C++20 Draft. Concepts sind eine Erweiterung der Templates und existieren seit 2015 als separate TS. C++20 wird die Spezifikation nahezu vollständig in den Hauptstandard übernehmen, die beiden offenen Punkte "introducer syntax" und "terse/natural syntax" bleiben zunächst außen vor, da es dazu noch keine vollständige Einigung gab. Über die Aufnahme der Concurrency TS gab es dagegen auf dem Meeting noch keinen Entschluss.

Die aktuelle Timeline zeigt unter anderem die Aufnahme der Concepts TS in den C++20-Draft.Bild: Standard C++ Foundation

Außerdem halten Designated Initializers, die in C bereits seit C99 Bestandteil des Standards sind, Einzug in C++. Damit lassen sich unter anderem Teile eines struct definieren:

struct A { int x; int y; int z; }; 
A b{.x = 1, .z = 2};

Vor allem der besseren Lesbarkeit des Codes dient, dass in C++20 [=, this] als Lambda Capture erlaubt ist. Außerdem dürfen generische Lambdas jetzt eine Template-Parameterliste enthalten.

Schließlich hat das Komitee drei Spezifikationen fertiggestellt und zur endgültigen Veröffentlichung herausgegeben: Coroutines TS, Networking TS und Ranges TS. Die Modules TS hat es derweil zur Abstimmung und für Kommentare freigegeben (PDTS Ballot).

Weitere Ergebnisse des Treffens lassen sich dem Blogbeitrag entnehmen.

Siehe dazu auf heise Developer:

(rme)


from heise developer neueste Meldungen http://ift.tt/2tibw1m
via IFTTT

Keine Kommentare:

Kommentar veröffentlichen