More Effective C++
318 Seiten
German
PDF
4.5

More Effective C++

More Effective C++

Autor:

Jahr:

Zusammenfassung:

Einleitung

Das Buch „More Effective C++“ (im Deutschen oft als „Noch effektiveres C++“ bezeichnet) ist die Fortsetzung des berühmten Buches „Effective C++“ von Scott Meyers, das 1992 erschien. Während das erste Buch die Grundlage für die korrekte Verwendung der Sprache legte, hebt das zweite die Messlatte noch höher. 1996 geschrieben, ist es auch heute noch aktuell, insbesondere für diejenigen, die vom Niveau „einfach nur Code schreiben“ zum Niveau „die tiefgreifenden Mechanismen von C++ verstehen“ aufsteigen möchten. Das Buch besteht aus 35 Ratschlägen (Items), die sich jeweils einem spezifischen Problem oder einer Technik widmen. Meyers listet nicht nur Regeln auf – er erklärt, warum sie funktionieren, und liefert Beispiele, die sofort in realen Projekten angewendet werden können.

Worum geht es in diesem Buch?

„More Effective C++“ behandelt fünf Schlüsselthemen, die entweder im ersten Buch nicht ausreichend beleuchtet wurden oder als neue Herausforderungen für Entwickler auftauchten:

  • Ausnahmen (Exceptions): Wie man Ausnahmen korrekt auslöst, fängt und behandelt, ohne Ressourcenlecks zu verursachen und die Leistung zu erhalten.
  • Effizienz (Efficiency): Wie man schnellen Code schreibt, indem man unnötige Kopien, temporäre Objekte und suboptimale Algorithmen vermeidet.
  • Programmiertechniken (Techniques): Fortgeschrittene Methoden wie virtuelle Konstruktoren, intelligente Zeiger, Proxy-Klassen und doppelte Dispatch.
  • Templates und generische Programmierung (Templates & Genericity): Wie man Templates nutzt, um flexible und wiederverwendbare Komponenten zu erstellen und Code-Aufblähung zu vermeiden.
  • Vererbung und objektorientiertes Design (Inheritance & OOD): Feinheiten virtueller Funktionen, Mehrfachvererbung und das korrekte Design von Klassenhierarchien.

Jeder Ratschlag ist ein in sich abgeschlossenes Kapitel, das mit der Problemstellung beginnt, dann eine Lösung anbietet und mit einer Zusammenfassung endet. Das Buch ist in lebendiger Sprache geschrieben, mit einer Prise Humor und vielen Beispielen in C++.

Für wen ist dieses Buch?

Das Buch richtet sich an Programmierer, die bereits Erfahrung mit C++ haben und mit den Grundlagen der Sprache vertraut sind: Klassen, Vererbung, virtuelle Funktionen, Templates. Wenn Sie gerade erst mit C++ beginnen und noch kein Projekt geschrieben haben, ist es besser, mit „Effective C++“ oder einem einführenden Lehrbuch zu starten. „More Effective C++“ ist der nächste Schritt, wenn Sie verstehen möchten, wie Sie nicht nur funktionierenden, sondern zuverlässigen, effizienten und leicht wartbaren Code schreiben.

Was lernt der Leser?

Nach der Lektüre des Buches werden Sie in der Lage sein:

  • Ausnahmen korrekt zu verwenden, ohne Angst vor Speicherlecks und undefiniertem Verhalten.
  • Temporäre Objekte und unnötige Kopien zu vermeiden, was für Hochleistungssysteme entscheidend ist.
  • Intelligente Zeiger (smart pointers) und andere Idiome der Ressourcenverwaltung zu implementieren.
  • Templates zu nutzen, um flexible und typsichere Typen zu erstellen.
  • Zu verstehen, wann und wie man Mehrfachvererbung einsetzt und wann man besser darauf verzichtet.
  • Klassen so zu entwerfen, dass sie fehlertolerant und leicht testbar sind.
  • Die allgemeine Code-Qualität durch die Befolgung bewährter Praktiken zu verbessern.

Stärken des Buches

1. Praxisorientierung. Jeder Ratschlag ist eine fertige Lösung für ein reales Problem. Sie lernen nicht nur Theorie, sondern erhalten Code, den Sie an Ihre Bedürfnisse anpassen können.

2. Tiefgehende Erklärungen. Meyers sagt nicht „mach das so, weil ich es sage“. Er erklärt, welche Sprachmechanismen beteiligt sind, welche Kompromisse es gibt und warum der gewählte Ansatz besser ist als Alternativen.

3. Aktualität. Trotz seines Alters bleiben 90 % der Ratschläge auch für die modernen C++-Standards C++11/14/17/20 gültig. Einige Beispiele verwenden veraltete Konstrukte (z. B. auto_ptr anstelle von unique_ptr), aber das lässt sich leicht anpassen. Das Buch lehrt das Denken, nicht das blinde Kopieren.

Empfehlungen