Spezifikation für C++11 nun verfügbar
C++11 ist als Standard seit gut einem Monat durch die zuständige Behörde angenommen, mittlerweile liegt die Spezifikation unter der Bezeichnung ISO/IEC 14882:2011 vor.
- Alexander Neumann
Als neuer Sprachstandard ist C++11 seit etwas mehr als einen Monat angenommen, als der Vorsitzende des C++-Komitees Herb Sutter bekannt gab, dass die für die Standardisierung zuständige ISO-Behörde die neue Version von C++ unter der ISO/IEC-Nummer 14882:2011 abgesegnet habe. Mittlerweile ist die über 1000 Seiten dicke Spezifikation auch käuflich zu erwerben, so etwa bei der ISO-Behörde oder auch beim DIN-Verlag Beuth.
C++11 lief lange Zeit unter der Bezeichnung C++0x, was zum Ausdruck bringen sollte, dass der Nachfolger von C++98 und der Überarbeitung C++03 noch im ersten Jahrzehnt des neuen Jahrtausend erscheinen sollte. Immer wieder nach hinten verschoben ist die Sprachversion im August mit der endgültigen Bezeichnung C++11 über die Ziellinie gegangen. Laut Spracherfinder Bjarne Stroustrup fühle sich C++11 wie eine neue Sprache an, die nach dem Willen der C++-Entwickler zu den Sprachen Java und C# wieder Boden wettmachen soll, wenngleich es sicherlich Einsatzbereiche gibt, bei denen C++ nie an Boden gegenüber seinen Schwestersprache verloren hat.
Viele der Empfehlungen aus dem Technical Report 1 aus dem Jahre 2005 sind nun in den Standard eingezogen, weswegen sie jetzt für Compiler-Bauer verpflichtend sind. In der Spezifikation finden sich als neue Features zum Beispiel eine direkte Datenfeld-Initialisierung, Lambda-Funktionen, eine verbesserte Bibliothek und Mittel für nebenläufige Programmierung. Einen Überblick über die vielleicht wichtigsten neuen Sprachfunktionen liefert darüber hinaus ein Artikel auf heise Developer.
Außen vor gelassen blieben die sogenannten Concepts, die bestimmte Probleme bei der Nutzung von generalisierten Datentypen (Templates) vermeiden. Sie werden wohl erst im Nachfolger C++1y landen, der nach nur fünf statt wie zuletzt über zehn Jahren den Vorgänger beerben soll.
Siehe dazu auch:
- Marc Mutz; Gelernt aus Fehlern. C++11 – auch ein Stimmungsbild; Artikel auf heise Developer
(ane)