Neuer C++-Standard: Was Entwickler in naher Zukunft erwartet

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Neuer C++-Standard: Was Entwickler erwartet



Das C++-Ökosystem entwickelt sich weiterhin aktiv: Nach der Veröffentlichung von C++20, das Module, Coroutinen und Konzepte brachte, bereitet sich die Community bereits auf die nächsten Iterationen vor – C++23 und C++26. Diese Standards versprechen, die Sprache noch leistungsfähiger, sicherer und bequemer für moderne Projekte zu machen. Lassen Sie uns die wichtigsten Änderungen durchgehen, die Entwickler erwarten.



Wichtigste Neuerungen in C++23

Der Standard C++23, dessen Verabschiedung in Kürze erwartet wird, konzentriert sich auf die Verfeinerung bestehender Funktionen und die Einführung kleiner, aber wichtiger Verbesserungen:



  • std::print und formatierte Ausgabe: Die lang erwartete Funktion, die die Konsolenausgabe so einfach macht wie in Python. Anstelle des umständlichen std::cout kann man jetzt std::print("Hallo, {}!", name) schreiben.
  • Mehrdimensionaler Index-Operator: Jetzt kann operator[] mit mehreren Parametern überladen werden, was die Arbeit mit mehrdimensionalen Arrays und Matrizen erleichtert.
  • if consteval: Ein neuer Mechanismus zur Überprüfung der Ausführungszeit – ermöglicht das Schreiben von Code, der sich in compile-time und runtime unterschiedlich verhält.
  • Verbesserungen an std::optional und std::expected: and_then, or_else und transform wurden hinzugefügt, um Fehlerbehandlungsketten zu vereinfachen.
  • Coroutinen: Einige Einschränkungen von C++20 wurden behoben, wie z. B. die fehlende Unterstützung von Coroutinen in std::generator.


Was bereitet C++26 vor?

C++26 verspricht ein umfangreicheres Update zu werden. Die wichtigsten Arbeitsrichtungen des Komitees:



  • Vollständige Modulunterstützung: Beseitigung verbleibender Inkompatibilitäten und Beschleunigung der Kompilierung. Module sollen Header-Dateien vollständig ersetzen.
  • Reflexion: Eine der am meisten erwarteten Funktionen. Entwickler können zur Compile-Zeit Informationen über Typen und Klassenmember abrufen – dies ebnet den Weg für automatische Serialisierung, ORM und Codegenerierung.
  • Verträge (Contracts): Integrierte Unterstützung für Vorbedingungen, Nachbedingungen und Invarianten (ähnlich wie assert, aber für Schnittstellen). Dies erhöht die Code-Zuverlässigkeit ohne Leistungseinbußen.
  • Erweiterung von std::execution: Neue Mechanismen für parallele Berechnungen, einschließlich der Verteilung von Aufgaben an GPUs und heterogene Systeme.
  • Komprimierte Tupel und Verbesserungen an assoziativen Containern: Optimierung von Speicher und Leistung der Standardbibliothek.


Auswirkungen auf Entwickler

Der Umstieg auf den neuen C++-Standard bietet folgende Vorteile:



  • Leistungssteigerung: Neue Optimierungen des Compilers und der Standardbibliothek ermöglichen es, mit weniger Aufwand schnelleren Code zu schreiben.
  • Verbesserte Lesbarkeit: Moderne Syntax (print, Formatierung, optional-Ketten) bringt den Code näher an höhere Sprachen.
  • Sicherheit: Verträge und Reflexion helfen, Fehler bereits zur Compile-Zeit zu erkennen, nicht erst zur Laufzeit.
  • Vereinfachung der Nebenläufigkeit: Die Erweiterung von std::execution und verbesserte Coroutinen senken die Einstiegshürde für die Parallelprogrammierung.


Wann ist damit zu rechnen?

Empfohlene Bibliotheken