C++

Größer und universeller: Alles über “Modernes C++”

Mit C++11 hat vor sechs Jahren eine neue Zeitrechnung für C++ begonnen. MicroConsult bringt Licht ins Dunkel der modernen C++ Standards und bringt Sie mit einem eigens dafür entwickelten Training auf den neuesten Stand zu C++17.

Als 2011 die Standardisierungsorganisation ISO/IEC mit C++11 die erste grundlegende Überarbeitung der Programmiersprache C++ seit 1998 veröffentlichte, zogen viele Neuerungen in die Programmiersprache und seine Standard-Bibliothek ein.

Der Umfang der Spezifikation wuchs um rund 75% an. Ab diesem Zeitpunkt wurde ein Entwicklungszyklus im 4-Jahres-Takt vereinbart, der dazu führte, dass in diesem Rhythmus neue Standards in C++ einfließen sollten. Das Ergebnis der damit einhergehenden Erweiterungen des C++11-Standards führten zu C++14 und C++17. Eine Reihe geplanter Features sind bereits in den bestehenden Standards enthalten, jedoch als „experimentell“ gekennzeichnet.

In Fachkreisen wird seit längerer Zeit nicht mehr zwischen den einzelnen „offiziellen“ Standards unterschieden, die seit „C++98“ hinzugekommenen Erweiterungen werden unter dem Namen „Modernes C++“ zusammengefasst.

Umfangreiche Erweiterungen mit dem C++20 Standard

Mitte Juli 2017 traf sich das 120-köpfige ISO-C++-Komitee und diskutierte sechs Tage lang über die Zukunft der Programmiersprache. Noch auf dem Winter-Treffen im März 2017 konnte das Komitee den Sprachstandard C++17 technisch abschließen. Auf dem Sommer-Meeting wurden dann bereits erste konkrete Pläne für C++20 beschlossen.

Modernes C++

Bekannt ist unter anderem, dass der geplante C++20 Standard die Sprache C++ gegenüber dem „wohlbekannten“ C++98 auf den zweieinhalb- bis dreifachen Umfang erweitern wird. Über alle Standardisierungsschritte hinweg zusammengefasst sind dies einige der herausragenden Features im Bereich der Sprachsyntax:

  • C++ Funktions-Literale (Lambdas)
  • C++ Rvalue-Referenzen
  • Bereichsbasierte Schleifen
  • Multithreading

Weitere Vereinfachungen gibt es im Bereich der C++ Meta-Programmierung, welche vor allem die Erstellung universell wiederverwendbarer und zugleich zur Compilezeit optimierter Software-Komponenten erlaubt.

Im Bereich der Standard-Bibliothek kamen neben vielen nützlichen „Kleinigkeiten“ auch neue Container-Klassen hinzu, außerdem die „Chrono-Bibliothek (Zeitpunkte und Zeitspannen) sowie standardType-Traits“ zur Unterstützung der Meta-Programmierung.

Das „Highlight“ von C++20 werden vermutlich die C++ „Concepts“ sein, eine Variante der in der objektorientieren Programmierung wohlbekannten C++ „Interfaces„. Sie entfaltet jedoch nicht zur Laufzeit, sondern zur Compilezeit ihre Wirkung und erlaubt damit in weitaus höherem Maße C++ Code-Optimierungen. Zudem werden Möglichkeiten zur (voll-) automatischen C++ „Type-Deduction“ im Stile der funktionalen Programmierung vorbereitet.

Bringen Sie Ihre C++-Kenntnisse auf den neuesten Stand mit dem eigens dafür entwickelten MicroConsult-Training “Modernes C++”.

Jetzt anmelden: Modernes C++: Neuerungen durch C++11 und C++14 bei Sprachsyntax, Bibliothek und Templates

Weiterführende Informationen

MicroConsult Training & Coaching zum Thema C++

Zum gesamten Trainings- und Coachingprogramm

Veröffentlicht von

Ingo Pohle

Ingo Pohle

Ingo Pohle ist Mitgründer und Geschäftsführer der MicroConsult GmbH und international anerkannter Spezialist für Embedded-Lösungen, mit einem reichen Erfahrungsschatz rund um den Einsatz von Embedded-Mikrocontrollern, Bussystemen und RTOS.