Boost C++-Bibliotheken

Empfohlene Schulungsdauer: 3 Tage, insgesamt 24 Unterrichtsstunden à 45 Minuten

Kursziele

Die Boost C++-Klassen stellen eine Erweiterung des C++-Standards dar. Sie bieten Lösungen für typische und aktuelle Probleme in der Softwareentwicklung, die in der neusten Version des C++-Standards noch nicht berücksichtigt sind. So enthalten die Boost C++-Klassen beispielsweise verschiedene Smart Pointer, die den Umgang mit dynamisch verwaltetem Speicher vereinfachen. Nach einem kurzen Überblick über die vielfältigen verfügbaren Funktionen in Boost lernen Teilnehmer dieses Seminars zahlreiche, in der Praxis sehr nützliche Boost-Klassen kennen. Da einige Boost C++-Klassen, wie die genannten Smart Pointers, in die kommende Version des C++-Standards aufgenommen werden, werden Teilnehmer außerdem auf die neue Version des C++-Standards vorbereitet.

Zielgruppe

C++-Software-Entwickler, die Boost kennenlernen oder effektiver mit Boost arbeiten möchten.

Kursvoraussetzungen

Der Kurs ›Objektorientiertes Programmieren mit C++‹ und ›Standard Template Library (STL) und Standard C++ Library‹ oder vergleichbare Kenntnisse.

Seminarinhalte

[LOGO]
  • Die Boost C++-Bibliotheken

    - Entstehung der Boost-Community
    - Schwächen der aktuellen Version des C++-Standards
    - Innovationsdruck durch Java und dem Microsoft .NET-Framework
    - Entwicklungs- und Standardisierungsprozess von Boost C++-Bibliotheken
    - Installation der Boost C++-Bibliotheken auf Windows und Linux
  • Boost.SmartPointers: Intelligente Zeiger

    - Sichere dynamische Speicherverwaltung mit intelligenten Zeigern
    - Smart Pointers für Objekte und Arrays
    - Smart Pointers mit alleinigem Eigentum
    - Smart Pointers mit geteiltem Eigentum
    - Optimierte Pointer-Container von Boost.PointerContainer
  • Boost.Regex: Suchen mit regulären Ausdrücken

    - Einführung in Reguläre Ausdrücke
    - Suchen, matchen und splitten
  • Boost.StringAlgorithms: Nützliche Algorithmen für std::string

    - Ändern von Groß- und Kleinschreibung
    - Suchen und Ersetzen
    - Splitten
    - Predicates
    - Trimming
  • Boost.Bind: Dynamische Funktionsverschachtelung

    - Vorgehensweise mit Klassen aus dem aktuellen C++-Standard
    - Vereinfachte Vorgehensweise mit Boost.Bind
    - Funktionen, Funktionsobjekte und Methoden binden
  • Boost.Thread: Portables Multithreading

    - Starten von Threads
    - Thread-Synchronization mit Mutex, Bedingung und Barrier
    - Einmaliger Funktionsaufruf pro Thread
  • Boost.Asio: Asynchrone Events

    - Architektur von auf Boost.Asio basierenden Programmen
    - Multithreading zur schnelleren Event-Verarbeitung
    - Boost.Asio-Erweiterungen zur Verarbeitung neuer Events
  • Boost.Conversion: Konvertierungen

    - Polymorphisches Down- und Crosscasting mit Boost.Cast
    - Umwandlung von Strings und Zahlen mit Boost.LexicalCast
  • Boost.DateTime: Arbeiten mit Point, Duration, Interval

    - Gregorianischer Kalender
    - Datumsklassen
    - Zeitpunkt- und Zeitdauerklassen
    - Formatierte Ausgabe von Daten und Zeiten
  • Weitere Boost-Bibliotheken

    - String-Formatierung über Boost.Format
    - Einfacher Zugriff auf Dateisysteme mit Boost.FileSystem
    - New-Style Iterators mit Boost.Iterator

Schulungsunterlagen

Deutschsprachige Unterlagen (Online-Bücher).

Eingesetzte Seminar-Software

Es wird eine aktuelle Version der Boost C++-Bibliotheken verwendet. Da die Boost C++-Bibliotheken plattformunabhängig sind, können Seminarteilnehmer andere Betriebssysteme und Compiler einsetzen. Als Entwicklungsumgebung kommt je nach Wunsch Microsoft Visual C++ oder die Eclipse CDT zum Einsatz.

Schlagwörter

Weiterführende Seminare

Die Boost-Bibliothek bietet grundlegende Unterstüztung von Multithreaded-Programmierung. Entwickler, die mehr über den Entwurf paralleler Systeme lernen möchten, bekommen im Seminar Thread-Programmierung in C++ eine detaillierte und praxisnahe Einführung in Threads und Programmsynchronisation. Boost ist eine elegante Klassenbibliothek, die technische Probleme löst. Wer eine bessere Codeorganisation anstrebt, findet im Pattern-Seminar C++ Design Patterns und Idiome viele Anregungen zur optimalen Design von Klassen und ihren Beziehungen.

5
142