C++











Der neue Standard ISO C++ '11



Aufbauend auf einem Grundverständnis von C++ wird in diesem Kurs der neue Standard ISO C++ '11 - vormals bekannt als C++ '0x - vorgestellt. Dabei werden die Änderungen von C++ '11 gegenüber dem alten Standard ISO C++ '98 sowie dem korrigierten Standard von 2003 ISO C++ '03 besprochen. Soweit dies schon möglich ist und eine ensprechende Compilerunterstützung bereits existiert, werden Beispiele des Standards anhand lauffähiger Codes demonstriert.

Themen:

  • Neue Schlüsselwörter für den Umgang mit Typen und Deklarationen:
    • auto
    • alignas
    • alignof
    • decltype
  • Das Schlüsselwort nullptr
  • Neue Typen
  • Stark typisierte enums
  • Nicht eingeschränkte Unions
  • Nachfolgende Definition von Rüchgabetypen
  • Unicode Unterstützung
  • Unicode Typen
  • Prefixes
  • Strings
  • Die neuen Möglichkeiten der using-Direktive
  • Template aliases
  • Namespace Assoziation
  • Neue Initialisierungssyntax
  • Der delegierende Konstruktor
  • Kopierbarkeit und Bewegbarkeit von Objekten
  • R-Value Referenz
  • Lambdas
  • Referenzierung des Lambda Status
  • Kopieren des Lambda Status
  • Type Traits
  • static_assert
  • Die Thread Unterstützung der Standard­bibliothek
  • Die Basismechanismen
  • Mutexe
  • Condition Variablen
  • Lokaler Threadspeicher
  • Threading mit Lambdas (Closures)
  • Futures
  • Smart Pointer
    • unique_ptr
    • shared_ptr
    • weak_ptr
  • forward_list
  • Reguläre Ausdrücke

Das Seminar führt theoretisch und praktisch in den neuen Standard ein. Nach den theoretischen Abschnitten werden praktische Übungen eingelegt, sodaß die Anwendbarkeit der neuen Sprach- und Bibliotheksbestandteile vom Teilnehmer erfahren werden kann.

Der neue Standard wird jedoch noch von keinem Compiler voll unterstützt, weshalb nicht jedes Thema mit praktischen Beispielen demonstriert werden kann. Die meisten neuen Sprachmerkmale werden durch den neuesten GCC Compiler geboten. Aber auch die aktuelle Version des Visual C++ Compilers von Microsoft setzt den Standard bereits zu einem großen Teil um. Insofern ist es naheliegend einen der genannten Compiler für das Seminar zu wählen. Es kann allerdings auch ein beliebiger anderer C++ Compiler zum Einsatz gebracht werden, wenn es gewünscht wird.