Book description
Um richtig in C++11 und C++14 einzusteigen, reicht es nicht aus, sich mit den neuen Features vertraut zu machen. Die Herausforderung liegt darin, sie effektiv einzusetzen, so dass Ihre Software korrekt, effizient, wartbar und portabel ist. Hier kommt dieses praxisnahe Buch ins Spiel: Es beschreibt, wie Sie wirklich gute Software mit C++11 und C++14 erstellen - also modernes C++ einsetzen. Scott Meyers' Effective C++-Bestseller gelten seit mehr als 20 Jahren als herausragende C++-Ratgeber. Seine klaren, verbindlichen Erläuterungen komplexer technischer Materie haben ihm eine weltweite Anhängerschaft beschert. In diesem Buch nutzt Scott Meyers wieder das bewährte beispielorientierte Konzept seiner früheren Bücher, um Ihnen den optimalen Einsatz von C++11 und C++14 zu veranschaulichen. Das Buch ist Pflichtlektüre für jeden modernen C++-Softwareentwickler.
Table of contents
- Dedication
- Danksagung
- Einleitung
- 1. Typen ableiten
- 2. auto
-
3. Der Wechsel zu modernem C++
- Technik 7: Der Unterschied zwischen () und {} beim Erstellen von Objekten
- Technik 8: Nutzen Sie nullptr statt 0 oder NULL
- Technik 9: Nutzen Sie Alias-Deklarationen statt typedefs
- Technik 10: Nutzen Sie enums mit Gültigkeitsbereich
- Technik 11: Nutzen Sie gelöschte statt private, undefinierte Funktionen
- Technik 12: Deklarieren Sie überschreibende Funktionen per override
- Technik 13: Nutzen Sie const_iterator statt iterator
- Technik 14: Deklarieren Sie Funktionen als noexcept, wenn sie keine Exceptions auslösen werden
- Technik 15: Verwenden Sie nach Möglichkeit immer constexpr
- Technik 16: Machen Sie const-Member-Funktionen Thread-sicher
- Technik 17: Verstehen Sie, wie spezielle Member-Funktionen generiert werden
-
4. Smart Pointer
- Technik 18: Verwenden Sie std::unique_ptr zum Verwalten exklusiver Ressourcen
- Technik 19: Verwenden Sie std::shared_ptr für das Verwalten von gemeinsam genutzten Ressourcen
- Technik 20: Verwenden Sie std::weak_ptr für std::shared_ptr-artige Zeiger, die haängen können
- Technik 21: Verwenden Sie std::make_unique und std::make_shared statt new
- Technik 22: Definieren Sie spezielle Member-Funktionen in der Implementierungsdatei, wenn Sie das Pimpl-Idiom verwenden
-
5. Rvalue-Referenzen, Move-Semantik und Perfect Forwarding
- Technik 23: Verstehen Sie std::move und std::forward
- Technik 24: Unterscheiden Sie zwischen universellen Referenzen und Rvalue-Referenzen
- Technik 25: Verwenden Sie std::move bei Rvalue-Referenzen und std::forward bei universellen Referenzen
- Technik 26: Vermeiden Sie das Überladen mit universellen Referenzen
- Technik 27: Machen Sie sich mit Alternativen zum Überladen mit universellen Referenzen vertraut
- Technik 28: Verstehen Sie das Reference Collapsing
- Technik 29: Gehen Sie davon aus, dass Move-Operationen nicht vorhanden, nicht günstig oder nicht einsetzbar sind
- Technik 30: Machen Sie sich mit den Problemfällen beim Perfect Forwarding vertraut
- Überladene Funktions- und Template-Namen
- 6. Lambda-Ausdrücke
-
7. Die Concurrency-API
- Technik 35: Programmieren Sie Task-basiert statt Thread-basiert
- Technik 36: Geben Sie std::launch::async an, wenn Asynchronität entscheidend ist
- Technik 37: Sorgen Sie dafür, dass std::threads auf allen Ablaufpfaden nicht zusammenführbar sind
- Technik 38: Berücksichtigen Sie das unterschiedliche Verhalten beim Zerstören von Thread-Handles
- Technik 39: Nutzen Sie void-Futures für die einmalige Kommunikation von Ereignissen
- Technik 40: Verwenden Sie std::atomic in Concurrency-Situationen und volatile für spezielle Speicherbereiche
- 8. Wertübergabe und Emplacement
- A. Über den Autor
- B. Über den Übersetzer
- Stichwortverzeichnis
- Kolophon
- Copyright
Product information
- Title: Effektives modernes C++
- Author(s):
- Release date: June 2015
- Publisher(s): O'Reilly Verlag
- ISBN: 97833958750494
You might also like
book
C++: Eine kompakte Einführung
spielerische Annäherung an das Thema- durchgängiges Textadventure-Beispiel- basiert auf dem C++11-Standard - bekannter und erfolgreicher C-/C++-Autor
book
C++ für Dummies, 6., vollständig überarbeitete Auflage
C++ muss nicht schwierig sein. Stephen Randy Davis erklärt Ihnen Schritt für Schritt anhand zahlreicher Programmschnipsel …
book
C++ - Lernen und professionell anwenden
Gezielter Lernerfolg durch überschaubare Kapiteleinheiten Vollständige Darstellung – Schritt für Schritt Konsequent objektorientiert programmieren Sie möchten …
book
C++ für Kids - Grundlagen für Spieleprogrammierer
C++ ganz einfach lernen und objektorientiert programmieren Schritt für Schritt drei komplette Spiele entwickeln Zahlreiche Übungsfragen …