Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 3 Min.

Licht- und Schattenseiten von C23

In diesem Jahr soll eine neue große Überarbeitung des C-Sprachstandards, C23, erscheinen. Terence Kelly und Borer Yekai Pan gehen den Änderungen auf den Grund.
Wie die letzte große Revision, C 11 führt auch der neueste Standard mehrere nützliche Funktionen ein. Die wichtigsten, wenn auch nicht die aufregendsten, machen es einfacher, sicheren, korrekten und geschützten Code zu schreiben. Zum Beispiel standardisiert der neue -Header die geprüfte Integer-Arithmetik.C23 fügt auch neue Funktionen hinzu, um Geheimnisse vor neugierigen Augen und Programmierer vor sich selbst zu schützen. Die neue Funktion memset_explicit() dient zum Löschen sensibler Daten im Speicher; im Gegensatz zu gewöhnlichem memset soll sie verhindern, dass Optimierungen die Löschung umgehen. Die gute alte calloc(size_t n, size_t s) alloziert immer noch ein Null-Array von n Objekten der Größe s, aber C23 verlangt, dass sie einen Null-Zeiger zurückgibt, wenn n*s überlaufen würde.Zusätzlich zu diesen neuen Korrektheits- und Sicherheitshilfen bietet C23 viele neue Annehmlichkeiten: Die Konstanten true, false und nullptr sind jetzt Schlüsselwörter der Sprache. Die neue typeof-Funktion macht es einfacher, Variablendeklarationen zu harmonisieren. Der Präprozessor kann nun beliebige Binärdaten in Quelldateien einbetten. Die Null-Initialisierung von Stack-Strukturen und Arrays variabler Länge ist mit der neuen Standard-Syntax "={}" ein Kinderspiel. C23 versteht binäre Literale und erlaubt Apostrophe als Zifferntrennzeichen, so dass Sie int j = 0b10'01'10 deklarieren können, und die printf-Familie unterstützt einen neuen Konvertierungsspezifizierer für die Ausgabe vorzeichenloser Typen als Binärzeichen ("01010101"). Die richtige Lösung für das klassische Vorstellungsgesprächsproblem "Zähle die 1-Bits in einem gegebenen int" ist jetzt stdc_count_ones().Soweit die guten Nachrichten. Doch haben Terence Kelly und Borer Yekai Pan auch Negatives im neuen Standard entdeckt, die sie zu diesem Schluss kommen lassen: "Die Nichtfunktionen, Fehlfunktionen und Mängel des neuen Standards sind so zahlreich und schwerwiegend, dass Programmierer nicht 'upgraden' sollten, ohne die Risiken und Vorteile sorgfältig abzuwägen."Hier geht's zum Artikel von Terence Kelly und Borer Yekai Pan bezüglich der Probleme mit C23.
Miscellaneous

Neueste Beiträge

Infinite AI Conference: So setzt Du KI in jedem Schritt des Software-Lifecycle ein - KI gehört in Deinen Workflow
Von den Anforderungen über Design, Implementierung bis zum Testen, Deployment und Monitoring: Auf der Infinite AI Conference 2026 erfährst Du, wie Dich die KI im gesamten Lifecycle unterstützen kann.
4 Minuten
SignalRC und Ping - Der DDC-Truck, Teil 10
Wie schnell ist die Verbindung zwischen Browser und Fahrzeug eigentlich?
9 Minuten
26. Mär 2026
00:00
MCP: Der USB-C-Stecker für Deine KI-App - Model Context Protocol auf der DWX
Jonah Andersson bringt es auf den Punkt: Das Model Context Protocol ist kein Hype-Buzzword, sondern eine echte Hilfe für .NET-Entwickler:innen. Wer MCP richtig einsetzt, spart sich aufwändige Integrationsarbeit – und behält trotzdem die Kontrolle über die eigene Business-Logik.
7. Apr 2026

Das könnte Dich auch interessieren

Elektronische Schaltkreise im Browser simulieren - Simulation
Statt mit Steckfeld oder Lötkolben kann man auf dieser Website Schaltungen per Drag and Drop zusammenstellen und deren Verhalten testen.
2 Minuten
26. Jul 2018
C#-.NET-Apps mit WinUI 3 - Komponentenbasierte Apps mit Fluent/FAST, Teil 3
Microsoft macht mit WinUI 3 ein natives User-Experience-Framework für Windows verfügbar, dessen Komponenten auf dem Microsoft-eigenen Design-System Fluent 2 basieren.
23 Minuten
13. Mai 2024
UIs für Linux - Bedienoberflächen entwickeln mithilfe von C#, .NET und Avalonia
Es gibt viele UI-Frameworks für .NET, doch nur sehr wenige davon unterstützen Linux. Avalonia schafft als etabliertes Open-Source-Projekt Abhilfe.
16 Minuten
16. Jun 2025
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige