oop-trainer.de

Seminare


Seminarbeschreibung: C++11 und C++14


Die neuen Standards ISO C++11 und ISO C++14


Aufbauend auf einem Grundverständnis von C++ wird in diesem Kurs der neue Standard dieser Programmiersprache ISO/IEC 14882:2011 (vereinfacht ISO C++11 oder C++11) und der erweiterte Standard ISO/IEC 14882:2014 (vereinfacht ISO C++14 oder C++14) vorgestellt. Dabei werden die Änderungen von der neuen Standards gegenüber den alten ISO C++98 und ISO C++03 besprochen. Die Neuerungen werden anhand lauffähiger Beispiele im Seminar demonstriert und eingeübt.

Themen:

  • Neue Schlüsselwörter für den Umgang mit Typen und Deklarationen:
    • auto
    • decltype
    • using
  • Alignment
    • alignas
    • alignof
  • Das Schlüsselwort nullptr
  • Neue Typen
  • Stark typisierte Enums
  • Enums mit Namensräumen
  • Nicht eingeschränkte Unions
  • Konstante Ausdrücke
  • Das neue Schlüsselwort constexpr
  • Unicode Unterstützung
  • Unicode Typen
  • Prefixes
  • Stringliterale
  • Neue Schlüsselwörter für Klassengestaltung
    • override zum kontrollierten Überschreiben von Methoden
    • final zum Finalisieren von Methoden und Klassen
  • Konstruktorvererbung
  • Konstruktordelegation
  • Neue Initialisierungssyntax
  • Initialisierungssequenzen:
    • Der Container std::initializer_list<T>
    • Konstruktoren mit Wertelisten
  • Die R-Value Referenz
  • Der Move-Konstruktor
  • Kopierbarkeit und Bewegbarkeit von Objekten
  • Der Gebrauch von std::move()
  • Forwarding mit std::forward<T>()
  • Type Traits
  • static_assert
  • Die neuen Möglichkeiten der using-Direktive
  • Template aliases
  • Namespace Assoziation
  • Lambdas
  • Nachfolgende Definition von Rückgabetypen
  • Referenzierung des Lambda Aufrufkontextes
  • Kopieren des Lambda Aufrufkontextes
  • Variadic Templates
  • Die Thread-Unterstützung der Standard­bibliothek
  • Die Basismechanismen des Threadings
  • Mutexe
  • Synchronisierung über Bedingungsvariablen
  • Atomare Operationen
  • Atomare Typen
  • Lokaler Threadspeicher
  • Threading mit Lambdas (closures)
  • Futures
  • Smart Pointers
    • std::unique_ptr<T>
    • std::shared_ptr<T>
    • std::weak_ptr<T>
  • Neue Container
    • std::forward_list<T>
    • std::unordered_set<T>
    • std::unordered_map<T>
  • Reguläre Ausdrücke

Ergänzungen durch C++14

  • Generische Lambda Ausdrücke
  • Deduktion des Funktionsrückgabetyps
  • Binäre Literale
  • Nummerngruppentrenner in Literalen
  • Das deprecated Attribut
  • Variable Templates

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 getestet werden kann.

Die aktuellen Versionen der üblichen Produktivcompiler unterstützen den C++11 Standard meistens. Die beste Unterstützung liefert der Clang C++ Compiler knapp gefolgt vom GNU C++ Compiler. Aber auch Visual C++ bietet ab der Version 2013 eine ausreichende Umsetzung des Standards, um ihn im Seminar einsetzen zu können.
Das im Seminar eingesetzte Betriebssystem ist unerheblich. Üblicherweise ist es Linux, Windows oder Mac OS X. Es können auch beliebige andere UNIX-Systeme eingesetzt werden.

Anfragen telefonisch unter: 0179-2292471