Die Boost C++ Bibliotheken

Vorwort

Was Sie lernen werden

Dieses Buch führt Sie in zahlreiche Boost-Bibliotheken ein, die die Standardbibliothek um in der Praxis nützliche Funktionen ergänzen. Da die Boost-Bibliotheken auf dem Standard basieren, sind sie in modernstem C++ entwickelt. Die Boost-Bibliotheken sind plattformunabhängig und werden auf vielen Betriebssystemen inklusive Windows und Linux von einer großen Entwicklergemeinschaft unterstützt.

Die Boost-Bibliotheken ermöglichen es Ihnen, Ihre Produktivität als C++-Entwickler zu steigern. So können Sie zum Beispiel auf Smartpointer zugreifen, mit denen Sie ohne viel Mühe zuverlässigeren Code schreiben können, oder eine Bibliothek verwenden, mit der Sie plattformunabhängige Netzwerkanwendungen entwickeln können. Da die Boost-Bibliotheken Entwicklungen im Standard teilweise vorwegnehmen, können Sie früher von Hilfsmitteln profitieren, ohne auf deren abschließende Standardisierung und Verfügbarkeit in Implementationen der Standardbibliothek zu warten.

Was Sie wissen müssen

Die Boost-Bibliotheken basieren auf dem Standard. Sie sollten daher den Standard ausreichend gut kennen. So sollten Sie Container, Iteratoren und Algorithmen einsetzen können und idealerweise von Konzepten wie RAII, Funktionsobjekten und Prädikaten gehört haben. Je besser Sie den Standard in all seinen Facetten kennen, umso mehr werden Sie von den Boost-Bibliotheken profitieren können.

Sie benötigen grundsätzlich keine Kenntnisse in der Template-Metaprogrammierung, um die Bibliotheken, die in diesem Buch vorgestellt werden, verwenden zu können. Der Schwerpunkt dieses Buchs liegt auf Bibliotheken, die schnell und einfach erlernt werden können und Ihnen in Ihrer Arbeit als C++-Entwickler sofort von großem Nutzen sind.

Viele Beispiele verwenden Features, die mit C++11 in den Standard aufgenommen wurden. So wird zum Beispiel das Schlüsselwort auto verwendet, um Typen nicht explizit angeben zu müssen. Konstruktoren werden über die uniforme Initialisierung aufgerufen: Variablen werden wenn möglich mit einem Paar geschweifter statt runder Klammern initialisiert. Viele Beispiele nutzen Lambda-Funktionen, um den Code kürzer und kompakter zu machen. Während Sie die Beispiele auch ohne Detailwissen zu C++11 verstehen können, basiert dieses Buch grundsätzlich auf C++11.

Typographische Konventionen

In diesem Buch werden folgende Formatierungen verwendet:

Nichtproportionale Schrift

Nichtproportionale Schrift wird für Klassennamen, Funktionsnamen und Schlüsselwörter verwendet – für alles, was nach C++-Code aussieht. Sie wird auch für Code-Beispiele, Kommandozeilenparameter und die Datenausgabe von Programmen verwendet. Zum Beispiel: int i = 0;

Nichtproportionale fette Schrift

Nichtproportionale fette Schrift wird für Variablennamen, Objekte und Benutzereingaben verwendet. Zum Beispiel: Die Variable i wird mit der Zahl 0 initialisiert.

Fett

Befehle werden fett markiert. Zum Beispiel: Die Boost-Bibliotheken werden mit einem Programm namens bjam kompiliert.

Kursiv

Kursive Schrift wird verwendet, wenn neue Konzepte eingeführt und zum ersten Mal erwähnt werden. Zum Beispiel: RAII ist die Abkürzung von resource acquisition is initialization – einem Konzept, auf dem Smartpointer basieren.

Beispiele

Dieses Buch enthält mehr als 430 Beispiele. Jedes Beispiel ist vollständig und kann von Ihnen kompiliert und ausgeführt werden. Sie können alle Beispiele von http://dieboostcppbibliotheken.de/beispiele herunterladen, um schneller loslegen zu können.

Alle Beispiele wurden mit folgenden Compilern getestet:

Alle Beispiele in diesem Buch basieren auf C++11. Die Compiler-Unterstützung für C++11 war, soweit notwendig, aktiviert.

Einige Beispiele in diesem Buch sind plattformspezifisch. In den Beschreibungen der Beispiele wird darauf hingewiesen, wenn diese lediglich unter Windows oder einem anderen Betriebssystem funktionieren.

Alle Beispiele werden so, wie sie sind, bereitgestellt, ohne ausdrückliche oder implizite Garantie. Sie sind unter der Boost Software Lizenz veröffentlicht.