Logo von Developer

Suche
Abonnieren

Tägliche Top-News bei WhatsApp, Facebook Messenger, Telegram & Insta

preisvergleich_weiss

Recherche in 1.508.171 Produkten

Rainald Menge-Sonnentag 233

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

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

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.

Anzeige

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.
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.

[Update 17.7. 13:15]:

Anzeige

Rainer Grimm, der für heise Developer den Blog "Modernes C++" schreibt, hat in seinem vorherigen Blog bereits vier Artikel zum Thema Concepts veröffentlicht.

Siehe dazu auf heise Developer:

(rme)

233 Kommentare

Themen:

Anzeige
  1. Programmiersprachen: C++17 ist technisch fertig

    C++17 ist technisch fertig

    Auf seinem Winter-Treffen hat das ISO-C++-Komitee den Sprachstandard technisch abgeschlossen. Die einzige nennenswerte inhaltliche Neuerung ist die Aufnahme des Typs std::byte.

  2. Letzte Änderungen bei C++17 und erste Arbeiten an C++20

    Letzte Änderungen bei C++17 und erste Arbeiten an C++20

    Der Trip Report des kürzlich ausgerichteten C++-Standards-Meeting in Issaquah gibt einen Überblick zum jüngsten Stand der C++-Entwicklung.

  3. Developer Snapshots: Programmierer-News in ein, zwei Sätzen

    Developer Snapshots: Programmierer-News in ein, zwei Sätzen

    heise Developer fasst jede Woche bisher vernachlässigte, aber doch wichtige Nachrichten zu Tools, Spezifikationen oder anderem zusammen – dieses Mal u.a. mit C++17, Node.js, Qt, Emacs und GCC.

  4. Compiler: GCC 7.1 kennt die Sprachfeatures von C++17

    GCC 7.1 kennt C++17-Sprachfeatures

    Die GNU Compiler Collection bietet in der neuen Hauptversion experimentellen Support für den aktuellen Draft von C++17. Außerdem gibt er erweiterte Hilfen bei potenziellen Tippfehlern in Feld- und Funktionsnamen sowie Makros und für enum-Typen.

  1. C++ Core Guidelines: The Guideline Support Library

    C++ Core Guidelines: The Guideline Support Library

    Die Guideline Support Library (GSL) ist eine kleine Bibliothek, die die Regeln der C++ Core Guidelines unterstützt. Ihr Ziel ist es, Entwicklern zu helfen, besseren C++-Code zu schreiben. Daher geht es vor allem um Speicher- und Typsicherheit. Es gibt bereits Implementierungen der GSL.

  2. C++ Core Guidelines: Die Philosophie

    Platon

    Der Abschnitt "primarily for humans" der C++ Core Guidelines ist der allgemeinste aller Abschnitte und besitzt den Namen Philosophie. Die Regeln sind so allgemeingültig, dass sie sich auf jede Programmiersprache anwenden lassen.

  3. C++ Core Guidelines: Interfaces II

    C++ Core Guidelines: Interfaces II

    Die C++ Core Guidelines stellen 20 Regeln für Interfaces auf, denn "interfaces is probably the most important single aspect of code organization". Was steckt hinter den letzten zehn?

  1. "Blaue Briefe" von der Landesmedienanstalt NRW

    "Blaue Briefe" von der Landesmedienanstalt NRW

    Auch Letsplay-Kanäle mit wenigen hundert Zuschauern geraten inzwischen ins Visier der Landesmedienanstalten. Von Annäherung zwischen Anbietern und Behörden oder gar der Abschaffung überholter Regelungen kann offenbar keine Rede sein.

  2. Redesign: Google Maps soll übersichtlicher werden

    Redisgn: Google Maps soll übersichtlicher werden

    Eine überarbeitete und personalisierte Kartenansicht soll zusammen mit farblich abgegrenzten Kategorien für Orte für mehr Übersicht im Kartendienst Google Maps und in anderen Google-Apps sorgen

  3. Arecibo-Teleskop vorerst gerettet

    Das Teleskop

    Das legendäre Radioteleskop Puerto Ricos muss nicht schließen, sich aber neue Partner und Financiers suchen. Von der National Science Foundation kommt bald nur noch ein Bruchteil des Budgets.

  4. US-Einzelhändler wollen Teslas Elektro-Lastwagen testen

    US-Einzelhändler wollen Teslas Elektro-Lastwagen ausprobieren

    Unmittelbar nach der Vorstellung hat Tesla erste Interessenten für seinen elektrischen Lastwagen gefunden. Analysten trauen der Firma zu, den Markt umzukrempeln, obwohl bereits viele etablierte Konkurrenten in den Startlöchern stehen.

Anzeige