C++17

Praxiswissen zum neuen Standard. Von C++11 bis 17
 
 
entwickler.press
  • 1. Auflage
  • |
  • erschienen am 22. Mai 2017
  • |
  • 320 Seiten
 
E-Book | PDF mit Wasserzeichen-DRM | Systemvoraussetzungen
978-3-86802-361-9 (ISBN)
 
Setzen Sie modernes C++ schon in Ihrer täglichen Arbeit ein? Warum eigentlich nicht? Der neue Standard enthält viele Erweiterungen, die Ihnen das Programmiererleben leichter und Ihre Anwendungen besser machen: Vom Schlüsselwort für undefinierte Zeiger über Lambda-Ausdrücke bis zur Unterstützung paralleler Programmierung. Auch C++ 17 bring eine Reihe von Erweiterungen mit, welche Ihre Produktivität erhöhen und Ihren Quellcode optimieren können. Die aktuellen Compiler von Microsoft, GNU und anderen unterstützen die neuen Features schon beinahe vollständig. Dieses Buch ist Ihr schneller Weg, von den Neuerungen schon morgen zu profitieren. Es ist kein C++-Grundkurs, sondern beschreibt Thema für Thema die Erweiterungen des modernen C++ von C++ 11 über die Version 14 bis zum aktuellen Stand 17. Peter Pohmann geht es nicht darum, jeden einzelnen Aspekt der letzten drei C++-Updates in allen Details zu beschreiben. Vielmehr bekommen Sie so knapp wie möglich das nötige Wissen und Verständnis an die Hand, die neuen Möglichkeiten sofort einzusetzen. Der Autor lässt dabei alles weg, was Ihnen in der Praxis nicht weiterhilft, zum Beispiel Features, die in keinem verbreiteten Compiler implementiert sind, oder solche, die einem im Programmiereralltag gar nicht auffallen. Dafür gibt es zu jeder Neuerung Tipps, ob, wie und wann man sie am besten verwendet.

Peter Pohmann hat theoretische Physik und theoretische Informatik in Freiburg, Fribourg/Schweiz und München studiert und arbeitet seit über zwanzig Jahren als freiberuflicher Softwareentwickler, Trainer, Fachautor, Speaker, Architekt und Projektleiter. Sein Branchenschwerpunkt ist die Industrie, insbesondere Automatisierung, Leittechnik und Energiemanagement. Softwaretechnisch hat er unter anderem an der Implementierung von Datenbankkernen, Skriptsprachen, grafischen Editoren und hochskalierenden O/R Mappern gearbeitet. Nach vielen Jahren Delphi und einem Jahrzehnt .NET-Technologien mit C# ist er seit einiger Zeit wieder zu seinen C++-Wurzeln zurückgekehrt und ein Anhänger des so genannten modernen C++ geworden. Er ist Geschäftsführer bei der dataweb GmbH und beim Ingenieurbüro pohmann & partner.
  • Deutsch
  • Frankfurt am Main
  • |
  • Deutschland
  • 1,49 MB
978-3-86802-361-9 (9783868023619)
weitere Ausgaben werden ermittelt
Peter Pohmann hat theoretische Physik und theoretische Informatik in Freiburg, Fribourg/Schweiz und München studiert und arbeitet seit über zwanzig Jahren als freiberuflicher Softwareentwickler, Trainer, Fachautor, Speaker, Architekt und Projektleiter. Sein Branchenschwerpunkt ist die Industrie, insbesondere Automatisierung, Leittechnik und Energiemanagement. Softwaretechnisch hat er unter anderem an der Implementierung von Datenbankkernen, Skriptsprachen, grafischen Editoren und hochskalierenden O/R Mappern gearbeitet.
Nach vielen Jahren Delphi und einem Jahrzehnt .NET-Technologien mit C# ist er seit einiger Zeit wieder zu seinen C++-Wurzeln zurückgekehrt und ein Anhänger des so genannten modernen C++ geworden.
Er ist Geschäftsführer bei der dataweb GmbH und beim Ingenieurbüro pohmann & partner.
  • Intro
  • Inhalt
  • 1 Einleitung
  • 1.1 Ist dieses Buch für Sie?
  • 1.2 Aufbau
  • 1.3 Compiler
  • 1.4 Schreibweisen
  • 1.5 Dank
  • 1.6 Kontakt
  • 1.7 Neue Features im Überblick
  • 2 Sprache
  • 2.1 Automatische Typableitung mit "auto"
  • 2.2 Nachgestellter Ergebnistyp
  • 2.3 Streng typisierte Aufzählungen
  • 2.4 Ausnahmespezifikation
  • 2.5 Attribute
  • 2.6 "Rvalue"-Referenzen
  • 2.7 Explizites Überschreiben
  • 2.8 Ableitung und Überschreibung verhindern
  • 2.9 Automatische Implementierung löschen und wiederherstellen
  • 2.10 Konstruktoraufruf in Konstruktoren
  • 2.11 Konstruktoren vererben
  • 2.12 Unbeschränkte Union
  • 2.13 Bereich-basierte "for"-Schleife
  • 2.14 Initialisierer-Listen
  • 2.15 Einheitliche Initialisierung
  • 2.16 Initialisierer für Elementvariablen
  • 2.17 Lambda-Funktionen
  • 2.18 Initialisierte Lambda-Bindungen
  • 2.19 Generische Lambda-Funktionen
  • 2.20 Konstante Ausdrücke
  • 2.21 Erweiterte "friend"-Deklaration
  • 2.22 Binäre Literale
  • 2.23 Zahlentrennzeichen
  • 2.24 Zeichenketten-Literale
  • 2.25 Benutzerdefinierte Literale
  • 2.26 "nullptr"
  • 2.27 "Inline"-Namensräume
  • 2.28 Statische Zusicherungen
  • 2.29 Expliziter Typkonvertierungsoperator
  • 2.30 "alignof" und "alignas"
  • 2.31 "sizeof" für Elementvariablen
  • 2.32 Strukturierte Bindung
  • 2.33 Bedingungen mit Initialisierer
  • 2.34 Geschachtelte Namensraumdefinition
  • 2.35 "Inline"-Variable
  • 3 Templates
  • 3.1 Variablen-Templates
  • 3.2 Typberechnung
  • 3.3 Typableitung mit "decltype(auto)"
  • 3.4 Unbenannte und lokale Typen als Templateargumente
  • 3.5 Default-Argumente für Funktionstemplates
  • 3.6 Abgeleiteter Templateparametertyp
  • 3.7 Typ-Alias
  • 3.8 Externe Templateinstanziierung
  • 3.9 Variadische Templates
  • 3.10 Faltungsausdrücke
  • 3.11 Referenz-Wrapper
  • 3.12 Typmerkmale
  • 3.13 "forward"-Funktion
  • 3.14 "declval"-Funktion
  • 3.15 Bedingte Kompilierung im Template
  • 4 Bibliothek
  • 4.1 Integrale Typen mit definierter Länge
  • 4.2 "unique_ptr"-Klasse
  • 4.3 "shared_ptr"-Klasse
  • 4.4 "weak_ptr"-Klasse
  • 4.5 "move"-Funktion
  • 4.6 "bind"-Funktion
  • 4.7 "function"-Klasse
  • 4.8 Einfach verkettete Liste
  • 4.9 Array mit fester Länge
  • 4.10 Hash-basierte Container
  • 4.11 Tupel
  • 4.12 Varianten
  • 4.13 Beliebige Werte
  • 4.14 Optionale Werte
  • 4.15 Elementzugriff über den Typ
  • 4.16 Brüche
  • 4.17 Zeitpunkte und Zeitdauern
  • 4.18 Zeitliterale
  • 4.19 Zufallszahlen
  • 4.20 Reguläre Ausdrücke
  • 4.21 "system_error"-Klasse
  • 4.22 "next"- und "prev"-Funktionen
  • 4.23 Containererweiterungen
  • 4.24 IO-Manipulator "quoted"
  • 4.25 String-Sichten
  • 4.26 Konvertierung von Zeichenketten in Zahlen
  • 5 Nebenläufigkeit
  • 5.1 "async"-Funktion
  • 5.2 Threads
  • 5.3 "packaged_task"-Klasse
  • 5.4 "promise"-Klasse
  • 5.5 "shared_future"-Klasse
  • 5.6 Mutexe
  • 5.7 Zweistufige Mutexe
  • 5.8 "lock_guard"-Klasse
  • 5.9 Rekursiver Mutex
  • 5.10 "lock"- und "try_lock"-Methoden
  • 5.11 "unique_lock"-Klasse
  • 5.12 Thread-lokale Daten
  • 5.13 Einmalige Ausführung
  • 5.14 Bedingungsvariablen
  • 5.15 Atomare Operationen
  • 5.16 "exception_ptr"-Klasse
  • 6 Anhang
  • 6.1 Glossar
  • 6.2 Literatur
  • Stichwortverzeichnis

Dateiformat: PDF
Kopierschutz: Wasserzeichen-DRM (Digital Rights Management)

Systemvoraussetzungen:

Computer (Windows; MacOS X; Linux): Verwenden Sie zum Lesen die kostenlose Software Adobe Reader, Adobe Digital Editions oder einen anderen PDF-Viewer Ihrer Wahl (siehe E-Book Hilfe).

Tablet/Smartphone (Android; iOS): Installieren Sie die kostenlose App Adobe Digital Editions oder eine andere Lese-App für E-Books (siehe E-Book Hilfe).

E-Book-Reader: Bookeen, Kobo, Pocketbook, Sony, Tolino u.v.a.m. (nur bedingt: Kindle)

Das Dateiformat PDF zeigt auf jeder Hardware eine Buchseite stets identisch an. Daher ist eine PDF auch für ein komplexes Layout geeignet, wie es bei Lehr- und Fachbüchern verwendet wird (Bilder, Tabellen, Spalten, Fußnoten). Bei kleinen Displays von E-Readern oder Smartphones sind PDF leider eher nervig, weil zu viel Scrollen notwendig ist. Mit Wasserzeichen-DRM wird hier ein "weicher" Kopierschutz verwendet. Daher ist technisch zwar alles möglich - sogar eine unzulässige Weitergabe. Aber an sichtbaren und unsichtbaren Stellen wird der Käufer des E-Books als Wasserzeichen hinterlegt, sodass im Falle eines Missbrauchs die Spur zurückverfolgt werden kann.

Weitere Informationen finden Sie in unserer E-Book Hilfe.


Download (sofort verfügbar)

24,99 €
inkl. 7% MwSt.
Download / Einzel-Lizenz
PDF mit Wasserzeichen-DRM
siehe Systemvoraussetzungen
E-Book bestellen