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

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. Telecom-Zusammenschluss NGENA will das Anbieten internationaler VPN erleichtern

    Telecom-Zusammenschluss NGENA will das Anbieten internationaler VPN erleichtern

    Die NGENA verbindet die Netze mehrerer nationaler Telecom-Anbieter. Ziel des Zusammenschluss ist es, Kunden über Software-Defined Networking schnell internationale VPN-Verbindungen bereitstellen zu können.

  2. Nicht Werte bestimmen Merkels Politik, sondern Interessen

    Wegen ihrer Unfähigkeit zur Politik-Analyse haben viele große Medien am wahrscheinlichen Wahlerfolg von Angela Merkel und dem Aufstieg der AfD einen großen Anteil

  3. AfD: Keiner kann mehr sagen, von alldem nichts gewusst zu haben

    Muss die AfD inzwischen als eine Nazipartei bezeichnet werden, da sie immer offener an nationalsozialistische Ideologie anknüpft?

  4. Erdogans militarisierte Außenpolitik irritiert den Westen

    Türkische Truppen sind in Somalia, Katar, Nordirak, Nordsyrien, Afghanistan, Nordzypern, Aserbaidschan und vor der Küste des Libanon stationiert

Anzeige