Logo von Developer

Suche
Abonnieren

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

preisvergleich_weiss

Recherche in 1.733.931 Produkten

Rainald Menge-Sonnentag 235

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

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

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

  4. Programmiersprache: D landet im GCC

    Programmiersprache: D landet im GCC

    Der C/C++-Herausforderer D wird insofern geadelt, dass die GNU Compiler Collection offenbar schon sehr bald die Programmiersprache unterstützen wird.

  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: Regeln für Smart Pointer

    C++ Core Guidelines: Regeln für Smart Pointer

    Für viele C++-Entwickler sind Smart Pointer das wichtigste Feature des C++11-Standards. Genau um diese Smart Pointer geht es in dem aktuellen Artikel.

  1. Vorstellung: Ford Ka+ Facelift

    Ford Ka+

    Nach nur anderthalb Jahren wird der pragmatische Ford Ka+ überarbeitet, bleibt sich im Kern aber treu. Abgesehen von etwas Detailarbeit bringt das Facelift vor allem Neuerungen bei Infotainment und Motoren, wobei Ford sich an einem Punkt viel Zeit lässt - wie die Konkurrenz

  2. Vorstellung: Ford Focus

    Ford Focus

    Ford stellt in London den vierten Focus vor. Der tritt ein schweres Erbe an, war der Vorgänger doch über Jahre das meistproduzierte Auto der Welt. Der Neue hat jedoch gute Chancen, daran anzuknüpfen, denn Ford hat alte Schwächen beseitigt

  3. Infotainment im Test: Mercedes MBUX

    Mercedes

    Autohersteller geizen mit Rechenleistung, davon konnte man bisher von wenigen Ausnahmen abgesehen immer getrost ausgehen. Doch mit dem Infotainment-System in A-Klasse und Sprinter gibt Mercedes jetzt richtig Gas in Sachen Rechenleistung, Entwicklungszeit und Software-Vertrieb

  4. Ausprobiert: Porsche Classic Radio-Navigationssystem

    Porsche, Infotainment

    2010: Porsches erster Versuch einer Infotainment-Einheit für alte Porsches war gut, aber den Kunden nicht gut genug. 2015: Ein neues System soll da abhelfen. Wir fahren bei Porsche vor und probieren kurz aus

Anzeige