Der nächste maßgebliche Standard der Programmiersprache
C++ - die Spezifizierung
C++20 (ISO/IEC 14882:2020) - wurde nun genehmigt. Der neue Standard
bringt einige bedeutsame Neuerungen für Entwickler mit und
wird, ähnlich wie C++11, die Art und Weise ändern, wie
Entwickler in modernem C++ programmieren. Zu den Kernneuerungen
gehören Ranges, Coroutinen, Concepts und Module.
Zahlreiche Features, welche die Kernsprache, die Bibliothek und
die Concurrency betreffen, erhalten ebenfalls Neuerungen: Dazu gehören
der Drei-Wege-Vergleichsoperator, überarbeitete Lambda-Funktionen
und Templates, eine Kalender- und Formatierungsbibliothek, Semaphoren
sowie eine verbesserte Handhabung von Threads, welche sich unterbrechen
lassen.
Concepts als Erweiterung der Templates von C++ erlauben die Definition
semantischer Kategorien für die Menge zulässiger Datentypen.
Die Algorithmen der Standard Template Library lassen sich mithilfe
der Ranges-Bibliothek direkt auf Containern der STL anwenden, mit
dem aus UNIX bekannten Pipe-Operator verknüpfen und auf unendlichen
Datenströmen definieren. Weiterhin wird in C++20 die Unterstützung
für asynchrone Programmierung mithilfe von Coroutinen eingeführt
- so lassen sich kooperatives Multitasking, unendliche Datenströme,
Eventschleifen oder auch Pipelines umsetzen. Schließlich garantieren
Module schnellere Kompilierungszeiten im Vergleich zu Header-Dateien.
Verletzungen der One
Definition Rule gehören zudem der Vergangenheit an.
Patrice Roys, Mitglied des C++ Standardisierungskomitees, legte
in einem kurzen Statement
auf Twitter die Absegnung des ISO-Standard nahe - eine offizielle
Ankündigung zur Genehmigung steht jedoch noch aus.
(jb, hannover)
(siehe auch: Heise-News-Ticker)
Hannover · EDV-Beratung ·
Linux · Novell · Microsoft · Seminar ·
IT-Consult · Netzwerk · LPIC · CLE
|