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

Dr. Holger Schwichtenberg
00:00
e Qual der Wahl bei den GUI-Frameworks für .NET
Über die Vielfalt der GUI-Frameworks im .NET-Ökosystem – und warum die Fragmentierung gar nicht so schlecht ist, wie viele denken. .NET-Experte Dr. Holger Schwichtenberg im Interview.
19. Jan 2026
Row Level Security - Acht Kostbarkeiten in T-SQL, Teil 3
Zugang nur für geladene Gäste: Mit RLS wacht der Türsteher direkt im SQL Server.
7 Minuten
19. Jan 2026
Next Level Engineering: KI-Agenten im Einsatz
Die Welt des Engineerings befindet sich im Umbruch. Mit dem Aufkommen von KI-Agenten beginnt eine neue Ära der digitalen Produktentwicklung, in der Maschinen nicht mehr nur Werkzeuge sind, sondern zu aktiven Mitdenkern werden.
5 Minuten

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
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
Thonny: Python-IDE für Programmieranfänger - Python lernen
Thonny ist eine Entwicklungsumgebung für alle, die das Programmieren erlernen wollen. Die Python-IDE kommt mit einigen eingebauten Tools, verzichtet dafür auf fortgeschrittene Optionen und kann Anfängern den Einstieg erleichtern.
2 Minuten
24. Okt 2018
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige