C++11 - ein neuer C++ Standard

Da es seit letztem Jahr einen neuen C++ Standard gibt, ein paar Worte hier zu. Es gibt nicht sehr häufig einen neuen C++ Standard, C++ ist eine Sprache, welche immer einen festen Kern hatte, und sich nicht auch als Framework verstand.  Mit C++98 gab es den bisher verbindlichen C++ Standard, welcher dann auch in vielen Compilern umgesetzt wurde. In 2003 wurde dieser dann nochmals durch eine Ergänzung aktualisiert. Nach 2003 begannen die Vorbereitungen für den Nachfolgestandard, welcher zu nächst unter dem Arbeitstitel C++0x bekannt wurde. Man ging damals davon aus, das der Standard noch vor 2010 erscheinen würde, die Arbeiten verzögerten sich aber, so das der ISO Standard erst 2011 final wurde. Weshalb der "aktuelle" C++ Standard auch als C++11 bekannt ist.

Der neue C++ Standard bringt viele Änderungen in die Sprache, so das C++11 Code nur noch bedingt mit C++ Code des alten Standards kompatibel ist. Wobei der bisherige Standard ein Subset von C++11 bleibt (bis auf wenige Ausnahmen wie auto). Die Neuerungen die C++11 bringt sind sehr vielfältig, und werden später wohl noch in einem eigenen Kapitel behandelt werden.

Wichtig ist allerdings zu wissen, das C++11 nun erst mal von den Compilerherstellern umgesetzt werden muss. GCC und CLang sind hier schon relativ weit, der MSVC  hinkt noch etwas hinter her, auch das Subset welches alle diese Compiler beherrschen ist dadurch noch relativ klein. Da C++03 Code auch in C++11 noch Gültigkeit besitzt, werde ich den Kurs hauptsächlich in diesem erstellen. Für die Praxis ist C++11 momentan sowieso noch recht irrelevant in vielen Gebieten. Dies wird sich ändern, wenn der Standard von den Compilerherstellern umgesetzt wurde.