Zum Hauptinhalt springen
Nicht aus der Schweiz? Besuchen Sie lehmanns.de

C++11 programmieren

60 Techniken für guten C++11-Code

(Autor)

Buch | Hardcover
414 Seiten
2012
Rheinwerk (Verlag)
978-3-8362-1732-3 (ISBN)
CHF 41,85 inkl. MwSt
zur Neuauflage
  • Titel erscheint in neuer Auflage
  • Artikel merken
Zu diesem Artikel existiert eine Nachauflage
Dieses Buch ist eine praktische Anleitung für den Einsatz von C++11. Es behandelt die Neuerungen gerade so, dass immer ein bestimmter Aspekt im Fokus steht, wie etwa die neuen Sprachmechanismen, Container, Pointer oder Algorithmen oder auch Neuerungen in der Standardbibliothek. Die Kapitel folgen einem strengen Prinzip: Hintergrund und Erklärung des Themas, Beispielcode, Interaktion und Vernetzung mit weiteren C++11-Neuerungen und schließlich das Mantra, eine Art Merksatz, der das Gelernte auf den Punkt bringt.
C++-Entwickler oder Entwickler, die auf C++ umsteigen, halten hiermit die richtige Lektüre in Händen.


Aus dem Inhalt:



* Neue Sprachmechanismen
* Initialisierung
* Typinferenz
* Syntax
* Lambdas und Funktoren
* Attribute
* Verschiebesemantik
* Designfragen
* Templates
* Sprachfeatures
* Zeichenketten

* Container, Pointer und Algorithmen
* Neue Container & Änderungen
* Zeigertypen
* Hilfsmittel

* Neues in der Standardbibliothek
* Multithreading
* Spezielle Bibliotheksaufgaben
* Zufallszahlen
* Fehlerbehandlung

* Anhang
* Deprecated
* Wahrscheinlichkeitsverteilungen
* Compilersupport
* Kompilierfähigkeit der Listings




... Vorwort ... 11



0 ... Beispielkapitel ... 17



TEIL I ... Elementare Konzepte aus C++03 ... 25



1 ... Resource Acquisition Is Initialization ... 27



2 ... Sicherheit durch Typen ... 36



3 ... Erinnerung: Exception Safety ... 43



4 ... C++-Standardbibliothek als Lösung ... 48



TEIL II ... Neue Sprachmechanismen ... 59



5 ... Vereinheitlichte Initialisierung ... 61



6 ... Selbst geschriebene Initialisierung mit Listen ... 67



7 ... Beschränkte automatische Konvertierung ... 74



8 ... Typinferenz bei der Initialisierung mit auto ... 76



9 ... Const-Iteratoren mit cbegin und cend ... 80



10 ... Typinformationen mit decltype ... 83



11 ... Das neue Range-For ... 89



12 ... nullptr ist das neue NULL ... 100



13 ... Garantiert konstante Ausdrücke ... 102



14 ... Sicherheit beim Kompilieren ... 109



15 ... Funktoren lokal definieren ... 114



16 ... Lambdas: anonyme Funktionen ... 118



17 ... Zugriffsdeklaration für Lambda ... 124



18 ... Funktionspointer sind out ... 135



19 ... Explizites Überschreiben mit override ... 139



20 ... Finale Klassen und Methoden ... 145



21 ... Attribute, so viele Sie möchten ... 152



22 ... Kopieren, Verschieben und Weiterleiten ... 156



23 ... Klassen fürs Verschieben entwerfen ... 163



24 ... Kein Return von RValue-Referenzen ... 176



25 ... RValue-Referenzen für Perfect Forwarding ... 181



26 ... Überladen auf RValues ... 190



27 ... Methoden per delete und default ... 196



28 ... Konstruktor-Delegation ... 201



29 ... Membervariablen initialisieren ... 210



30 ... Konstruktoren erben ... 213



31 ... Explizite Konvertierung ... 216



32 ... Templates mit variabler Argumentanzahl ... 221



33 ... Alias für Templates ... 229



34 ... Klassen-Enums sind typsicher ... 232



35 ... Keine Exceptions bei noexcept ... 236



36 ... Unterstützung von Unicode ... 243



37 ... Rohstringliterale ... 247



38 ... Rezept für benutzerdefinierte Literale ... 250



TEIL III ... Neues zu Containern, Pointern und Algorithmen ... 259



39 ... Tupel, das bessere Paar ... 261



40 ... Ungeordnete Container ... 265



41 ... Neue Liste nur für vorwärts ... 271



42 ... unique_ptr statt auto_ptr ... 275



43 ... Smarte Pointer ... 285



44 ... Mehr Algorithmen für Container ... 295



45 ... Sets sind nicht mehr modifizierbar ... 300



46 ... Standardcontainer passend schrumpfen ... 302



47 ... function und bind ... 306



48 ... Die Verwendung von swap ... 313



TEIL IV ... Neues in der Standardbibliothek ... 319



49 ... Parallel arbeiten ... 321



50 ... Threads als Basis für Parallelität ... 326



51 ... Futures und Promises mit async ... 329



52 ... Lebensdauer von Daten ... 337



53 ... Mutexe, Locks und mehr ... 341



54 ... Memory Order und Fences ... 348



55 ... Reguläre Ausdrücke ... 355



56 ... Ende der Umrechnungsfehler ... 362



57 ... Rechnen mit Zeiteinheiten ... 365



58 ... Wahrscheinlichkeitsverteilungen ... 368



59 ... Der richtige Würfel ... 372



60 ... Hierarchie der Exceptions ... 377



61 ... Fehlerfälle mit Fehlercode ... 380



62 ... Eigene Fehlerwerte erstellen ... 387



... Anhang ... 395

... A ... Abgewöhnen ... 397

... B ... Wahrscheinlichkeitsverteilungen ... 399

... C ... Compilersupport für C++11 ... 402

... D ... Kompilierfähigkeit der Listings ... 405



... Index ... 407

Reihe/Serie Galileo Computing
Sprache deutsch
Maße 168 x 240 mm
Gewicht 920 g
Einbandart gebunden
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Schlagworte C++0.x • C++11 • C++ 11 (Programmiersprache) • C++11 (Programmiersprache)
ISBN-10 3-8362-1732-5 / 3836217325
ISBN-13 978-3-8362-1732-3 / 9783836217323
Zustand Neuware
Informationen gemäß Produktsicherheitsverordnung (GPSR)
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Grundlagen und praktische Anwendungen von Transpondern, kontaktlosen …

von Klaus Finkenzeller

Buch (2023)
Hanser (Verlag)
CHF 125,95
Programmiersprache, grafische Benutzeroberflächen, Anwendungen

von Ulrich Stein

Buch | Hardcover (2023)
Hanser (Verlag)
CHF 55,95