Sie sind hier
E-Book

C++11

Praxiswissen zum neuen Standard

AutorPeter Pohmann
Verlagentwickler.press
Erscheinungsjahr2013
Seitenanzahl300 Seiten
ISBN9783868022933
FormatPDF/ePUB
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis19,99 EUR
Setzen Sie C++ 11 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. Eine ganze Menge davon ist auch schon in Visual Studio, gcc und anderen Compilern realisiert. Dieses Büchlein ist Ihr schneller Weg, wie Sie relevante Neuerungen schon morgen in Code umsetzen. Peter Pohmann strebt nicht danach, möglichst alle Aspekte der dritten Version ausführlichst zu beschreiben sondern gibt Ihnen so knapp wie möglich das nötige Wissen und Verständnis an die Hand, die neuen Möglichkeiten sofort einzusetzen. Er lässt alles weg, was Ihnen in der Praxis nicht weiterhilft, zum Beispiel Features die in keinem verbreiteten Compiler implementiert sind. Dafür gibt es zu jeder Neuerung Tipps, ob, wie und wann man sie am besten verwendet. Zielgruppe: Entwickler und Interessierte in C++, Alle, die keine Zeit haben umfangreiche Werke zur Sprache zu lesen

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 und Leittechnik. Softwaretechnisch hat er unter anderem an der Implementierung von Datenbankkernen, Skriptsprachen, grafischen Editoren und hochskalierenden O/R Mappern gearbeitet. Seine Plattform ist jetzt (nach vielen Jahren Delphi) hauptsächlich .NET mit C# und C++ in allen Ausprägungen. Er ist Geschäftsführer bei der dataweb GmbH und beim Ingenieurbüro pohmann & partner.

Kaufen Sie hier:

Horizontale Tabs

Leseprobe

1 Einleitung

1.1 Ist dieses Buch für Sie?

Als C++-Entwickler haben Sie natürlich mitbekommen, dass 2011 endlich der neue Standard C++11 verabschiedet wurde. Aber es geht Ihnen vielleicht wie den meisten: Sie stecken im Tagesgeschäft, haben Deadlines zu beachten und unvorhersehbare Fixes zu liefern. Bis jetzt blieb Ihnen keine Zeit, um sich die Neuerungen mal anzusehen oder gar darüber nachzudenken, wie Sie sie in Ihrer Arbeit einsetzen wollen. Die vorhandenen Bücher zu C++11 sind alle recht umfangreich, erheblich umfangreicher jedenfalls als das ursprüngliche C++-Buch „Die C++ Programmiersprache“ von Bjarne Stroustrup aus dem Jahr 1985. Das alles zu lesen, zu verstehen sowie die Vor- und Nachteile abzuwägen, dafür hat die Zeit bisher einfach nicht gereicht.

Wenn diese Beschreibung auf Sie zutrifft, dann ist dieses Buch genau das Richtige für Sie. Es strebt nicht danach, möglichst alle Aspekte des neuen Standards ausführlichst zu beschreiben, sondern gibt Ihnen so knapp wie möglich das nötige Wissen und Verständnis an die Hand, die neuen Möglichkeiten sofort einzusetzen. Es beginnt bei den Erläuterungen nicht bei Adam und Eva, sondern setzt voraus, dass Sie über ein solides Praxiswissen verfügen. Andererseits erwartet es von Ihnen nicht, dass Sie die theoretischen Grundlagen von Programmiersprachen noch auswendig aufsagen können. Ein großer Wert liegt darauf, zu jeder Neuerung zu erläutern, wie und wann man sie einsetzen kann. Ab und zu steht hier auch einmal, dass Sie das eher nicht brauchen werden oder lieber die Finger davon lassen sollten.

Vom Aufbau her stehen die einzelnen Kapitel, von denen jedes genau ein neues Feature beschreibt, weitgehend für sich. So brauchen Sie es nicht unbedingt von vorne bis hinten zu lesen, sondern können sich auch einfach die Themen heraussuchen, die Ihnen am interessantesten erscheinen. Weil natürlich manche Neuigkeiten auf anderen aufbauen, finden Sie an den entsprechenden Stellen die Verweise auf die nötigen Voraussetzungen.

1.2 Aufbau

Die Kapitel sind locker zu vier Themenbereichen zusammengefasst. Im ersten Teil „Sprache“ geht es um Erweiterungen an der Programmiersprache selbst. Hier werden hauptsächlich neue Schlüsselwörter oder neue Bedeutungen vorhandener Schlüsselwörter vorgestellt.

Anschließend kommt ein Teil über „Templates“, den Sie komplett überspringen können, wenn Sie keine Templates bei Ihrer Arbeit einsetzen. Hier sind sowohl Spracherweiterungen als auch Bibliothekserweiterungen zusammengefasst, die das Programmieren mit Templates betreffen. Früher oder später sollten Sie sich übrigens schon mit diesem Themengebiet auseinandersetzen, aber dieser Teil des Buches ist nicht der geeignete Startpunkt dafür.

Im dritten Teil geht es um die Erweiterungen der Standardbibliothek. Er ist mit „Bibliothek“ überschrieben und enthält Dutzende von neuen Funktionen und Klassen, angefangen von ganz einfachen Dingen wie den Funktionen next und prev bis zu umfangreichen Bibliotheken wie der für Zufallszahlen.

Alles, was mit paralleler Programmierung zu tun hat, fasst der vierte Teil unter „Multi-Threading“ zusammen. Auch hier kommen sowohl Sprach­erweiterungen als auch neue Bibliotheksklassen vor, weil sie zusammen ein sinnvolles Ganzes ergeben. Wenn diesem Ihr Hauptinteresse gilt, fangen Sie einfach damit an und folgen den Verweisen für die wenigen Spracherweiterungen und Bibliotheksklassen, die als Grundlage benötigt werden.

Im Anhang finden Sie ein Glossar, das einige Fachbegriffe rund um C++ erläutert. Diese Begriffe gehören zwar nicht zu den Neuerungen in C++11, sie tauchen aber im Hauptteil auf und sind dann doch so speziell, dass sie nicht jeder sofort parat haben kann. Immer wenn Sie den Pfeil vor einem Wort sehen wie in ? trivialer Typ, dann wissen Sie, dass es dazu einen Glossareintrag gibt.

Auch die Beschreibung jedes einzelnen Leistungsmerkmals hat einen sich wiederholenden Aufbau. Zuerst kommt unter „Worum geht es?“ eine Kurzfassung, die in wenigen Sätzen erklärt, was das Feature tut. Darauf folgt unter der Überschrift „Was steckt dahinter?“ eine Motivation und Erläuterung, wo erklärt wird, wieso das Feature eingeführt wurde und wie es funktioniert. Als Drittes kommen Tipps, wie Sie die Erweiterung am besten einsetzen und wie nicht. Dieser Abschnitt ist mit „Wie setzt man es ein?“ überschrieben. Unter „Wer unterstützt es?“ folgen Hinweise zur Compilerunterstützung in Visual C++ und gcc. Abschließend runden Verweise auf den Header und gegebenenfalls weiterführende Literatur die Beschreibung ab.

Damit Sie die für Sie interessanten Neuigkeiten möglichst schnell finden, gibt es neben einem umfangreichen Stichwortverzeichnis gleich anschließend eine Featuretabelle als Wegweiser. Hier finden Sie alle Erweiterungen von C++ mit einer Bewertung bezüglich Relevanz, Expertentum und Spezialwissen mit Verweis auf das jeweilige Kapitel.

1.3 Compiler

Bei den Compilern beschränkt sich dieses Buch auf die beiden meistverwendeten, nämlich Visual C++ unter Windows und GNU unter Linux. Viele Beispiele wurden sowohl mit MSVC 2012 als auch gcc 4.8 getestet. Oft war das aber nicht möglich, weil beide auch heute noch Lücken haben bei der Implementierung des neuen Standards.

Insbesondere für gcc ist auch nicht vollständig dokumentiert, ab welcher Version eine bestimmte Erweiterung der Standardbibliothek unterstützt wird. Deshalb finden Sie bei der Beschreibung der Compilerunterstützung öfter Formulierungen wie „spätestens ab 4.8“. Das bedeutet dann, dass laut Dokumentation und eigenen Tests das Feature in gcc 4.8 zur Verfügung steht, dass aber nicht bekannt ist, seit wann es schon existiert. Bei Microsoft Visual C++ bedeutet „voraussichtlich ab 2013“, dass das Feature für die Version 2013 geplant ist. Von dieser Version ist aber zum Zeitpunkt der Veröffentlichung dieses Buchs erst eine Preview verfügbar.

1.4 Dank

Dieses Buch wurde nicht nur vom Autor geschaffen. Mein Dank geht an meine Frau Judith und meine Söhne Simon und Philipp, die nicht nur viele Stunden auf Mann und Vater verzichten mussten, sondern auch auf den leistungsstärksten Computer unserer Familie. Peter Biereder und Jörg Roth haben sich durch das Manuskript gekämpft und geholfen, Fehler und Ungereimtheiten zu beseitigen. Sebastian Burkart vom Verlag hat das Projekt initiiert und mir mit Rat und Tat zur Seite gestanden.

1.5 Kontakt

Über Anmerkungen zu diesem Buch freue ich mich unter peter.pohmann@dataweb.de.

1.6 Neue Features im Überblick

Die folgende Tabelle soll Ihnen einen Überblick über die Neuheiten und ihre praktische Bedeutung geben. Jedes neue Feature hat eine Bewertung in den drei Kategorieren Relevanzfaktor, Expertenfaktor und Spezialistenfaktor. In jeder Kategorie bekommt das Feature ein bis drei Symbole für gering, mittel und ausgeprägt.

*** Relevanzfaktor: Je mehr Sternchen, desto wichtiger ist das Feature für Ihren Programmiereralltag. Features mit drei Sternchen sollten Sie möglichst sofort lesen und einsetzen, vorausgesetzt, es ist von allgemeiner Bedeutung oder für Ihr Spezialgebiet relevant.

!!! Expertenfaktor: Mehr Ausrufezeichen bedeuten höheren Lernaufwand. Ein Feature mit hohem Expertenfaktor und geringer Relevanz werden Sie sich wohl erst ansehen, wenn Sie einmal Zeit übrig haben oder wenn es für Ihr Spezialgebiet genau passt.

??? Spezialistenfaktor: Manche Features sind nur für spezifische Anwendungsfälle interessant, beispielsweise für Simulation oder systemnahe Programmierung. Auch wenn sie in diesen Anwendungsgebieten sehr wichtig sind, kommen viele Softwareentwickler auch gut ohne sie aus.

1.6.1 Sprache

Feature

Relevanz

Experte

Spe­zialist

Kapitel

Automatische Typbestimmung

***

!

?

2.1

Nachgestellter Ergebnistyp

*

!

?

2.2

Integrale Typen mit definierter Länge

**

!

?

2.3

Streng typisierte...

Blick ins Buch

Weitere E-Books zum Thema: Informatik - Algorithmen - Softwaresysteme

Softwaretechnik

E-Book Softwaretechnik
Format: PDF

Software-Projekte geraten oft in Schwierigkeiten: Zeit und Budget werden überschritten; das Projekt tritt auf der Stelle; im schlimmsten Fall wird es ohne Ergebnis abgebrochen. Manche…

Softwaretechnik

E-Book Softwaretechnik
Format: PDF

Software-Projekte geraten oft in Schwierigkeiten: Zeit und Budget werden überschritten; das Projekt tritt auf der Stelle; im schlimmsten Fall wird es ohne Ergebnis abgebrochen. Manche…

Softwaretechnik

E-Book Softwaretechnik
Format: PDF

Software-Projekte geraten oft in Schwierigkeiten: Zeit und Budget werden überschritten; das Projekt tritt auf der Stelle; im schlimmsten Fall wird es ohne Ergebnis abgebrochen. Manche…

Software Engineering

E-Book Software Engineering
Architektur-Design und Prozessorientierung Format: PDF

Das Lehrbuch behandelt alle Aspekte der Software-Entwicklung, besonders aber Methoden und Richtlinien zur Herstellung großer und qualitativ hochwertiger Softwareprodukte. Es vermittelt das zur…

Software Engineering

E-Book Software Engineering
Architektur-Design und Prozessorientierung Format: PDF

Das Lehrbuch behandelt alle Aspekte der Software-Entwicklung, besonders aber Methoden und Richtlinien zur Herstellung großer und qualitativ hochwertiger Softwareprodukte. Es vermittelt das zur…

Weitere Zeitschriften

Menschen. Inklusiv leben

Menschen. Inklusiv leben

MENSCHEN. das magazin informiert über Themen, die das Zusammenleben von Menschen in der Gesellschaft bestimmen -und dies konsequent aus Perspektive der Betroffenen. Die Menschen, um die es geht, ...

Ärzte Zeitung

Ärzte Zeitung

Zielgruppe:  Niedergelassene Allgemeinmediziner, Praktiker und Internisten. Charakteristik:  Die Ärzte Zeitung liefert 3 x pro Woche bundesweit an niedergelassene Mediziner ...

cards Karten cartes

cards Karten cartes

Die führende Zeitschrift für Zahlungsverkehr und Payments – international und branchenübergreifend, erscheint seit 1990 monatlich (viermal als Fachmagazin, achtmal als ...

e-commerce magazin

e-commerce magazin

PFLICHTLEKTÜRE – Seit zwei Jahrzehnten begleitet das e-commerce magazin das sich ständig ändernde Geschäftsfeld des Online- handels. Um den Durchblick zu behalten, teilen hier renommierte ...

building & automation

building & automation

Das Fachmagazin building & automation bietet dem Elektrohandwerker und Elektroplaner eine umfassende Übersicht über alle Produktneuheiten aus der Gebäudeautomation, der Installationstechnik, dem ...