Neuer C++-Standard: Wichtige Änderungen und Verbesserungen der Sprache

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 Standard C++23 erschienen: Was hat sich in der Programmiersprache geändert



Die C++-Entwicklergemeinschaft hat ein lang erwartetes Update erhalten – der neue Standard C++23 (ISO/IEC 14882:2024) wurde offiziell verabschiedet. Obwohl die Arbeit daran mehrere Jahre dauerte, bringt die endgültige Version eine Reihe bedeutender Verbesserungen mit sich, die die Sprache noch leistungsfähiger, sicherer und komfortabler für moderne Projekte machen. Lassen Sie uns die wichtigsten Neuerungen durchgehen, die jeder C++-Entwickler kennen sollte.



Die wichtigsten Neuerungen von C++23



Im Gegensatz zum revolutionären C++11 kann der neue Standard als evolutionär bezeichnet werden. Der Schwerpunkt liegt auf der Vereinfachung der Syntax, der Steigerung der Leistung und der Verbesserung der Unterstützung für funktionale und modulare Programmierung.



  • std::print und std::println – eine lang erwartete Alternative zu printf und cout. Die neue Funktion für formatierte Ausgabe arbeitet schneller und sicherer und unterstützt alle modernen Typen. Beispiel: std::println("Hallo, {}!", name);
  • Mehrdimensionale Indexierungsoperatoren operator[] – jetzt kann eine Syntax wie matrix[1, 2] definiert werden, ohne Workarounds mit der Überladung von operator(). Dies vereinfacht die Arbeit mit mathematischen Bibliotheken und mehrdimensionalen Containern.
  • std::expected – ein neuer Typ zur Fehlerbehandlung ohne Ausnahmen. Er funktioniert wie Result in Rust: Er gibt entweder einen Wert oder einen Fehlercode zurück. Ideal für Low-Level-Code und eingebettete Systeme.
  • constexpr für std::vector und std::string – Container können jetzt in Compile-Time-Berechnungen verwendet werden. Der Compiler kann Strings und Vektoren zur Compile-Zeit erstellen und verarbeiten, was die Ausführung beschleunigt.
  • Verbesserte Bereiche (Ranges) – neue Adapter und Algorithmen wie views::chunk und views::slide wurden hinzugefügt. Die Arbeit mit Sequenzen wird noch deklarativer und lesbarer.
  • Benannte Argumente von Lambda-Funktionen – Parameter können jetzt explizit in Template-Lambdas angegeben werden: [](T a, T b) { ... }. Der Code wird ohne überflüssiges auto verständlicher.


Auswirkungen auf die tägliche Entwicklung



Der neue Standard erfordert nicht, bestehende Projekte umzuschreiben, bietet aber Werkzeuge zum Schreiben von saubererem und schnellerem Code. Besonders deutlich sind die Änderungen in:

  • Formatierungs-Hilfsmitteln – std::print kann das veraltete printf in neuen Projekten vollständig ersetzen.
  • Fehlerbehandlung – std::expected vereinfacht das Schreiben zuverlässiger Bibliotheken ohne das Risiko unbehandelter Ausnahmen.
  • Metaprogrammierung – constexpr-Container eröffnen den Weg zu komplexeren Compile-Time-Berechnungen.


Wann und wie einführen



Die Unterstützung für C++23 ist bereits in den neuesten Versionen von GCC (14+), Clang (18+) und MSVC (2024+) implementiert. Zur Aktivierung reicht es, das Flag -std=c++23 (oder /std:c++latest in Visual Studio) anzugeben. Wir empfehlen, die Neuerungen zunächst in kleinen Modulen oder neuen Projekten zu verwenden und den Code schrittweise an die neuen Möglichkeiten anzupassen.



C++23 ist ein Schritt nach vorne ohne Bruch der Abwärtskompatibilität. Der Standard macht die Sprache für Anfänger zugänglicher und für Profis noch leistungsfähiger. Machen Sie sich unbedingt praktisch damit vertraut – es ist eine Investition in die Qualität Ihres Codes für die kommenden Jahre.

Empfohlene Bibliotheken