Standardbibliothek von C++
1117 Seiten
German
PDF
4.5

Standardbibliothek von C++

Standardbibliothek von C++

Autor:

Jahr:

Zusammenfassung:

Einleitung

Das Buch «The C++ Standard Library: A Tutorial and Reference» (in deutscher Übersetzung — «Die C++-Standardbibliothek») von Nicolai Josuttis ist nicht nur ein weiteres Nachschlagewerk, sondern ein grundlegendes Werk, das seit über zehn Jahren das Standardwerk für Tausende von C++-Entwicklern weltweit ist. Die zweite Auflage, erschienen im Jahr 2012, deckt nicht nur die klassische STL (Standard Template Library) ab, sondern auch alle Neuerungen des C++11-Standards, die die Sprache grundlegend verändert haben. Der Umfang des Buches beträgt 1117 Seiten dichten technischen Textes, was für die Tiefe der behandelten Materie spricht.

Für die Bildungswebsite pythonlib.ru ist dieses Buch von besonderem Interesse: Obwohl die Seite Python gewidmet ist, kommen viele Entwickler zu C++ für Aufgaben, die maximale Leistung erfordern (Spiele-Engines, hochbelastete Server, eingebettete Systeme). Das Verständnis der C++-Standardbibliothek ist der Schlüssel zur effektiven Nutzung der Sprache, und Josuttis' Buch vermittelt dieses Verständnis auf höchstem Niveau.

Worum geht es in diesem Buch?

Das Buch ist als vollwertiges Handbuch und gleichzeitig als Nachschlagewerk aufgebaut. Es deckt alle wesentlichen Komponenten der C++-Standardbibliothek ab:

  • Container: vector, list, deque, set, map, unordered_set, unordered_map und andere. Detailliert werden ihr interner Aufbau, die Komplexität der Operationen und Empfehlungen zur Auswahl behandelt.
  • Iteratoren: alle Kategorien von Iteratoren (Eingabe-, Ausgabe-, Vorwärts-, bidirektionale, Direktzugriffs-Iteratoren) sowie Iterator-Adapter (reverse_iterator, inserter).
  • Algorithmen: mehr als 100 STL-Algorithmen — von einfachen find und sort bis hin zu komplexen partial_sort, nth_element, accumulate und Lambda-Ausdrücken, die in C++11 eingeführt wurden.
  • Funktionsobjekte und Lambdas: ausführliche Erklärung, wie Funktoren, Binder (bind) und Lambda-Ausdrücke funktionieren, sowie ihre Anwendung in Algorithmen.
  • Smart Pointer: unique_ptr, shared_ptr, weak_ptr — ihre Semantik, Leistung und typische Anwendungsfehler.
  • Multithreading und Synchronisation: thread, mutex, lock_guard, future, promise, async — alles, was für das Schreiben korrekten Multithreading-Codes benötigt wird.
  • Zeichenketten und Lokalisierung: Arbeit mit std::string, std::wstring, Kodierungen, Locales und Facets.
  • Ein-/Ausgabe: iostreams, Dateiströme, Formatierung, Manipulatoren.
  • Numerische Bibliotheken: random, complex, valarray, numerische Algorithmen.

Jedes Kapitel enthält sowohl theoretische Erklärungen als auch zahlreiche praktische Codebeispiele, die sofort an die eigenen Aufgaben angepasst werden können.

Für wen ist dieses Buch?

Das Buch richtet sich an Programmierer mittleren und fortgeschrittenen Niveaus, die bereits mit den Grundlagen von C++ vertraut sind (Syntax, Klassen, Vererbung) und ihr Wissen über die Standardbibliothek vertiefen möchten. Für Anfänger, die gerade erst mit dem Erlernen von C++ beginnen, könnte das Buch schwierig erscheinen — es ist besser, zuerst einen Grundkurs zu absolvieren und dann zu diesem Buch als Nachschlagewerk zurückzukehren.

Besonders nützlich ist das Buch für:

  • Entwickler, die von C auf C++ oder von anderen Sprachen (Java, C#) umsteigen — um die Philosophie der STL und die Idiome von C++ zu verstehen.
  • Spezialisten für hochbelastete Systeme, bei denen Leistung und effiziente Speicherverwaltung wichtig sind.
  • Dozenten und Studenten, die C++ auf einem ernsthaften Niveau studieren.
  • Diejenigen, die modernen C++11/14-Code schreiben möchten und veraltete Praktiken vermeiden wollen.

Was lernt der Leser?

Nach der Lektüre des Buches wird der Leser in der Lage sein: