In der Welt der Programmiersprache C++ ist etwas geschehen, das Beteiligte für undenkbar hielten. Der Entwurf für den nächsten Standard C++26 ist bei der Abstimmung der nationalen Normungsgremien der ISO durchgefallen. Die Abstimmung über den Draft International Standard (DIS) endete am 23. Oktober 2026 nach zwölf Wochen mit dem Ergebnis „Disapproved“. Darüber berichten unter anderem C+±Komiteemitglied Andreas Fertig im heise-Blog das Blog train-it.

Die Zahlen

Für eine Annahme braucht ein DIS eine Zweidrittelmehrheit der stimmberechtigten Mitglieder, zudem dürfen höchstens ein Viertel der abgegebenen Stimmen Nein lauten. C++26 verfehlte beide Hürden. Laut den bei train-it veröffentlichten Zahlen stimmten 12 von 20 stimmberechtigten P-Mitgliedern mit Ja, also 60 Prozent. Neun von 22 abgegebenen Stimmen waren Nein, rund 41 Prozent. Robert Seacord, Leiter des C-Komitees, veröffentlichte das Ergebnis am Tag nach dem Abstimmungsende auf LinkedIn.

Soweit bekannt, ist es das erste Mal, dass ein C+±Entwurf eine DIS-Abstimmung nicht besteht. Fertig fand bei einer Suche im ISO-System nur einen vergleichbaren Fall: die C++/CLI-Spezifikation von 2006, deren Projekt anschließend gestoppt wurde. Seacord schrieb laut train-it, er glaube nicht, dass überhaupt schon einmal ein Sprachstandard des zuständigen ISO-Unterkomitees SC22 durchgefallen sei.

Streit um Contracts

Der Grund lässt sich laut Fertig aus den Kommentaren der Gremien gut ablesen: Contracts, also Vor- und Nachbedingungen, die direkt im Code einer Funktion festgehalten und geprüft werden können. Eine Reihe von Gremien hält das Feature für noch nicht reif. Contracts haben eine lange Geschichte: 2018 nahm das Komitee sie für C++20 auf, 2019 wurden sie wieder entfernt. Danach arbeitete eine Studiengruppe jahrelang an einem neuen Entwurf, bevor das Feature mit Mehrheit in C++26 aufgenommen wurde. Im März 2026 stimmte die Arbeitsgruppe WG21 dem Entwurf mit großer Mehrheit zu.

Fertig, der selbst an der deutschen Stimme mitwirkt, kritisiert, dass einige Gremien mit „neuen Informationen“ argumentieren, die aus seiner Sicht alte Argumente seien. Der Autor von train-it bekennt sich als Befürworter von Contracts, betont aber, ein besseres Design wäre ebenfalls ein gutes Ergebnis. Die Gegner haben teils eigene Arbeit in alternative Ansätze gesteckt.

Wie es weitergeht

Die ISO sieht mehrere Wege vor: einen geänderten Entwurf erneut zur DIS-Abstimmung zu geben, ihn ins frühere Stadium eines Committee Draft zurückzuversetzen, ihn als Technical Specification zu veröffentlichen oder das Projekt zu streichen. Alle Optionen bedeuten eine Verzögerung. Betroffen sind damit auch große Neuerungen wie Reflection, std::execution und die Härtung der Standardbibliothek, die im selben Entwurf stecken. Das nächste Treffen von WG21 findet vom 16. bis 21. November im brasilianischen Búzios statt und dürfte die Richtung bestimmen. Papiere beider Seiten liegen bereits vor, darunter der Vorschlag P4433R0 „Do not remove Contracts from C++26“, der eine erneute Abstimmung ohne Änderungen an den Contracts fordert.