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

Commands in SignalRC - Der DDC-Truck, Teil 5
Durch das Zusammenspiel verschiedener Entwicklungsmuster lassen sich interessante Verhaltensweisen für die Steuerung von RC-Modellen aufbauen.
8 Minuten
19. Feb 2026
Die ganze Welt der Softwareentwicklung
Ein riesiges Angebot an Wissen, das von Expert:innen lebendig vermittelt wird, gewürzt mit Kontakt zu Gleichdenkenden – das ist der Kern der DWX.
6 Minuten
19. Feb 2026
Die Suche nach Texten - Acht Kostbarkeiten in T-SQL, Teil 7
Suchen, bis die Server schwitzen? Wer versteht, wie der SQL Server denkt, wird bessere Ergebnisse und bessere Performance erzielen.
7 Minuten
16. Feb 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
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
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
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige