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

Figma Dev Mode im Einsatz - UX goes Dev, Teil 3
Der größte Mehrwert des Developer Mode von Figma liegt darin, die Brücke zwischen visuellem Design und qualitativ hochwertigem UI-Code zu schlagen.
7 Minuten
9. Jul 2026
Grundlagen von Health Checks - Health Checks in ASP.NET richtig nutzen, Teil 1
Ein einfacher Statuscode sagt wenig darüber aus, ob eine Anwendung wirklich betriebsbereit ist. ASP.NET bietet dafür mehr Möglichkeiten, als viele /health-Endpunkte vermuten lassen. Genau dort beginnt der Unterschied zwischen Erreichbarkeit und echter Diagnose.
4 Minuten
KI: SQL Server versus Anwendungscode - SQL Server 2025 und Microsoft Azure AI, Teil 2
Wer SQL Server und Anwendungscode bewusst trennt, erhält eine Architektur, die sowohl performant als auch wartbar ist und sich langfristig stabil betreiben lässt.
6 Minuten

Das könnte Dich auch interessieren

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
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
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige