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 192

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

192 Kommentare

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. 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. 2016: Top 15 der Fachartikel auf heise Developer

    2016: Top 15 der Fachartikel auf heise Developer

    Mehr als 100 Fachartikel gingen im vergangenen Jahr auf heise Developer online. Die Redaktion wollte nun wissen, welche die meisten Leser gefunden haben.

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

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

  3. C++17: Kleinvieh macht auch Mist

    C++17: Kleinvieh macht auch Mist

    Seit Juni ist C++17 Feature-komplett. Das ist ein guter Anlass, die Neuerungen zu betrachten. Dieser Artikel widmet sich zunächst den Sprachmitteln.

  1. 18-Jähriger meldet Fehler in Budapester E-Ticketing-System – und wird festgenommen

    18-Jähriger meldet Fehler in Budapester E-Ticketing-System – und wird festgenommen

    Das neue E-Ticketing-System für den Budapester ÖPNV war offenbar mit allzu heißer Nadel gestrickt. Ein 18-Jähriger Nutzer, der einen der Fehler entdeckte und dem Budapester Verkehrsunternehmen meldete, bekam daraufhin Besuch von der Polizei.

  2. Klassiker: Alfa Romeo Montreal

    Klassiker

    Der Alfa Romeo Montreal bringt mit seinem Schlafzimmerblick nicht nur Alfa-Fans um den Verstand. Das Sportcoupé ist eine echte italienische Diva mit zickiger Technik, aber wenn sie läuft, dann möchte man nicht mehr aussteigen.

  3. Diesel-Debatte: Ist der Stickstoffdioxid-Grenzwert sinnvoll?

    In geschlossenen Räumen darf der Anteil des Gases fast 24 Mal so hoch sein wie an Straßen - Ein Kommentar

  4. Testversion des Peer-to-Peer-Messengers Briar für Android veröffentlicht

    Public Beta des Peer-to-Peer-Messengers Briar gestartet

    Briar soll ohne Server auskommen und Nachrichten sogar ohne Internet-Verbindung austauschen können. Die Daten werden Ende-zu-Ende verschlüsselt und per Tor anonymisiert. Ein erstes Sicherheits-Audit von Cure53 stuft die App als weitgehend sicher ein.

Anzeige