Sie sind hier
E-Book

Effektives modernes C++

AutorScott Meyers
VerlagO'Reilly Verlag
Erscheinungsjahr2015
Seitenanzahl320 Seiten
ISBN9783958750500
FormatPDF
Kopierschutzkein Kopierschutz
GerätePC/MAC/eReader/Tablet
Preis28,99 EUR
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.

Kaufen Sie hier:

Horizontale Tabs

Blick ins Buch
Inhaltsverzeichnis
Effektives modernes C++3
Inhalt5
Danksagung11
Kapitel – Einleitung15
Begriffe und Konventionen16
Fehler und Verbesserungsvorschläge20
Verwendung der Codebeispiele21
Kontakt21
Kapitel 1 – Typen ableiten23
Technik 1: Typableitung beim Template23
Fall 1: ParamType ist eine Referenz oder ein Zeiger, aber keine universelle Referenz25
Fall 2: ParamType ist eine universelle Referenz26
Fall 3: ParamType ist weder ein Zeiger noch eine Referenz27
Array-Argumente28
Funktionsargumente30
Technik 2: Die auto-Typableitung verstehen31
Technik 3: Verstehen Sie decltype36
Technik 4: Zeigen Sie abgeleitete Typen an42
IDE-Editoren42
Compiler-Diagnose43
Ausgabe zur Laufzeit43
Kapitel 2 – auto49
Technik 5: Ziehen Sie auto einer expliziten Typdeklaration vor49
Technik 6: Nutzen Sie explizit typisierte Initializer, wenn auto unerwünschte Typen ableitet54
Kapitel 3 – Der Wechsel zu modernem C++61
Technik 7: Der Unterschied zwischen () und {} beim Erstellen von Objekten61
Technik 8: Nutzen Sie nullptr statt 0 oder NULL69
Technik 9: Nutzen Sie Alias-Deklarationen statt typedefs73
Technik 10: Nutzen Sie enums mit Gültigkeitsbereich77
Technik 11: Nutzen Sie gelöschte statt private, undefinierte Funktionen83
Technik 12: Deklarieren Sie überschreibende Funktionen per override88
Technik 13: Nutzen Sie const_iterator statt iterator94
Technik 14: Deklarieren Sie Funktionen als noexcept, wenn sie keine Exceptions auslösen werden97
Technik 15: Verwenden Sie nach Möglichkeit immer constexpr104
Technik 16: Machen Sie const-Member-Funktionen Thread-sicher110
Technik 17: Verstehen Sie, wie spezielle Member-Funktionen generiert werden115
Kapitel 4 – Smart Pointer123
Technik 18: Verwenden Sie std::unique_ptr zum Verwalten exklusiver Ressourcen124
Technik 19: Verwenden Sie std::shared_ptr für das Verwalten von gemeinsam genutzten Ressourcen130
Technik 20: Verwenden Sie std::weak_ptr für std::shared_ptr-artige Zeiger, die hängen können139
Technik 21: Verwenden Sie std::make_unique und std::make_shared statt new144
Technik 22: Definieren Sie spezielle Member-Funktionen in der Implementierungsdatei, wenn Sie das Pimpl-Idiom verwenden152
Kapitel 5 – Rvalue-Referenzen, Move-Semantik und Perfect Forwarding161
Technik 23: Verstehen Sie std::move und std::forward162
Technik 24: Unterscheiden Sie zwischen universellen Referenzen und Rvalue-Referenzen167
Technik 25: Verwenden Sie std::move bei Rvalue-Referenzen und std::forward bei universellen Referenzen171
Technik 26: Vermeiden Sie das Überladen mit universellen Referenzen179
Technik 27: Machen Sie sich mit Alternativen zum Überladen mit universellen Referenzen vertraut186
Kein Überladen mehr186
Übergabe als const T&186
Übergabe By-Value186
Tag Dispatching187
Templates mit universellen Referenzen einschränken190
Abwägungen196
Technik 28: Verstehen Sie das Reference Collapsing198
Technik 29: Gehen Sie davon aus, dass Move-Operationen nicht vorhanden, nicht günstig oder nicht einsetzbar sind203
Technik 30: Machen Sie sich mit den Problemfällen beim Perfect Forwarding vertraut207
Braced Initializers208
0 oder NULL als Null-Zeiger210
Rein deklarierte ganzzahlige static const-Attribute210
Überladene Funktions- und Template-Namen211
Bitfelder213
Ergebnis214
Kapitel 6 – Lambda-Ausdrücke215
Technik 31: Vermeiden Sie Standard-Capture-Modi216
Technik 32: Nutzen Sie ein Init Capture, um Objekte in Closures zu verschieben223
Technik 33: Nutzen Sie decltype für auto&&-Parameter, um sie per std::forward weiterzuleiten228
Technik 34: Nutzen Sie Lambdas statt std::bind231
Kapitel 7 – Die Concurrency-API239
Technik 35: Programmieren Sie Task-basiert statt Thread-basiert239
Technik 36: Geben Sie std::launch::async an, wenn Asynchronität entscheidend ist243
Technik 37: Sorgen Sie dafür, dass std::threads auf allen Ablaufpfaden nicht zusammenführbar sind247
Technik 38: Berücksichtigen Sie das unterschiedliche Verhalten beim Zerstören von Thread-Handles254
Technik 39: Nutzen Sie void-Futures für die einmalige Kommunikation von Ereignissen259
Technik 40: Verwenden Sie std::atomic in Concurrency-Situationen und volatile für spezielle Speicherbereiche267
Kapitel 8 – Wertübergabe und Emplacement275
Technik 41: Erwägen Sie die Wertübergabe bei kopierbaren Parametern, die sich mit wenig Aufwand verschieben lassen und die immer kopiert werden275
Technik 42: Erwägen Sie den Einsatz von Emplacement statt Einfügen285
Index295
Über den Autor309
Über den Übersetzer309
Kolophon309

Weitere E-Books zum Thema: Programmiersprachen - Softwareentwicklung

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

Programmieren lernen in PHP 5

E-Book Programmieren lernen in PHP 5
Format: PDF

Mit der Version 5 erreicht PHP einen bemerkenswerten Reifegrad, der PHP zu einer festen Größe in der Welt der Webprogrammierung macht. Gerade die leichte Erlernbarkeit macht PHP zur idealen…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Weitere Zeitschriften

aufstieg

aufstieg

Zeitschrift der NaturFreunde in Württemberg Die Natur ist unser Lebensraum: Ort für Erholung und Bewegung, zum Erleben und Forschen; sie ist ein schützenswertes Gut. Wir sind aktiv in der Natur ...

AUTOCAD & Inventor Magazin

AUTOCAD & Inventor Magazin

FÜHREND - Das AUTOCAD & Inventor Magazin berichtet seinen Lesern seit 30 Jahren ausführlich über die Lösungsvielfalt der SoftwareLösungen des Herstellers Autodesk. Die Produkte gehören zu ...

DULV info

DULV info

UL-Technik, UL-Flugbetrieb, Luftrecht, Reiseberichte, Verbandsinte. Der Deutsche Ultraleichtflugverband e. V. - oder kurz DULV - wurde 1982 von ein paar Enthusiasten gegründet. Wegen der hohen ...