Wilkening-Online Logo

C++ Tutorial



Tutorial

Die aktuelle Version 34 des C++ Tutorials können Sie hier als PDF (4.204 KByte) herunterladen. Das Tutorial ist noch nicht fertig, aber alle wichtigen Informationen sind vorhanden.

Copyright

Das C++ Tutorial darf in unveränderter Form für Unterrichtszwecke weitergegeben und verwendet werden. Ich freue mich aber über Rückmeldungen zum Einsatz des Tutorialss. Und bitte teilen Sie mir mit, wie Sie von dem Tutorial erfahren haben.

Quelltexte

Und hier finden Sie einen Teil der C++ Quelltexte als Zip-Archiv (226 KByte):

Ein paar Hinweise zum Zip-Archiv:

Versions-Historie des C++ Tutorials

Version Datum Änderungen

34

28.02.2015
  • 821 Seiten
  • In vielen Kapiteln wurden Rechtschreibfehler und kleine Ausdrucksfehler beseitigt.
  • Das Kapitel 2 über die C++ Standards, die Compiler, Boost und andere Bibliotheken wurde auf den neusten Stand gebracht. Hierbei wurde das bisherige Kapitel 2.3 über die ISO Standards, Compiler und das Skript auf drei Kapitel 2.3 - 2.5 verteilt - Kapitel 2.4 beschreibt nun die Compiler-Status bzgl. des Standards, und Kapitel 2.5 den des Skripts. Durch die neuen Kapitel 2.4 & 2.5 haben sich die Kapitel-Nummern der restlichen Kapitel von 2.4-2.6 auf 2.6-2.8 verändert.
  • Kleine Erweiterungen in den Kapiteln 5.4.1.4 und 5.4.1.5 über die Initialisierungen von Variablen mit der neuen vereinheitlichten Initialsierungs-Syntax.
  • Kapitel 9.7 über Maps um einige C++11 Erklärungen erweitert und an die Änderungen in den Kapiteln 11.4 und 13.8 angepaßt.
  • In Kapitel 10.2.5 über C++11 R-Value Referenzen diese ausführlicher beschrieben.
  • Neues Kapitel 10.2.6 über C++11 Forward-Referenzen.
  • Kapitel 10.4 über Typ-Konvertierungen wurde etwas überarbeitet - vor allem was die impliziten Typ-Konvertierungen angeht. Daher gibt es auch ein neues Unter-Kapitel 10.4.1 über impliziten Typ-Konvertierungen - die bisherigen Kapitel 10.4.1 - 10.4.3 wurden auf 10.4.2 - 10.4.4 umnummeriert.
  • Kapitel 11.3.5 über die neue C++11 Funktions-Syntax wurde um die neue C++14 Syntax mit Auto-Rückgabe-Typ-Deduktion erweitet.
  • Neues Kapitel 11.3.6 über neue Objekte bei Funktions-Rückgaben.
  • Neues Kapitel 11.4 über Typ-Konvertierungen bei Funktions-Aufrufen und Rückgaben. Die bisherigen Kapitel 11.4 - 11.18 wurden auf 11.5 - 11.19 umnummeriert.
  • Kapitel 11.6 über Funktions-Überladung (vorher Kapitel 11.5) wurde komplett neu geschrieben und an die veränderten bzw. neuen Kapitel 10.4, 11.4 und 13.8 angepaßt.
  • Kapitel 12.5 über Zufallszahlen ist komplett neu geschrieben und wurde an C++11 angepaßt.
  • Kapitel 13.8 über Konstruktoren wurde komplett neu geschrieben und dabei stark erweitert und an C++11 und C++14 angepaßt - u.a. wurden Move-, Konvertierungs- und Sequenz-Konstruktoren, temporäre Objekte und implizite Konvertierungen eingeführt.
  • Kurzes grob einführendes neues Kapitel 17.6 über den C++11 Move-Zuweisungs-Operator . Damit haben sich die alten Kapitel-Nummern der Kapitel 17.6-17.13 zu 17.7-17.14 verändert.
  • In Kapitel 20.1 über Zeiger und Adressen zusätzlich den Begriff "shallow size" eingeführt.

33

15.03.2014
  • 792 Seiten
  • In vielen Kapiteln wurden Rechtschreibfehler und kleine Ausdrucksfehler beseitigt.
  • Kapitel 2.3 über die ISO C++ Standards um Anmerkungen zu den kommenden Standards C++14 und C++1y ergänzt.
  • Kapitel 2.4 wurde um Hinweise auf einige subjektiv wichtige C++ Bibliotheken für z.B. GUI und Spiele-Programmierung erweitert.
  • Kapitel 2.5 wurde bzgl. Boost auf die neuste Version 1.55 geupdatet, und außerdem wurde die Motivation für Boost (gerade für C++03) überarbeitet.
  • Kapitel 5.1.1 wurde um einen Verweis auf das neue Kapitel 12.10 über die Klasse "numeric_limits" erweitert.
  • Kapitel 5.4.1 über Variablen-Definitionen wurde in großen Teilen neu geschrieben, u.a. um mehr C++11 Features wie Initialisierungs-Listen und "decltype" zu berücksichtigen.
  • Kapitel 5.5.1 über das Zusammenspiel von "const" und "auto" in C++11 wurde erweitert und an das veränderte Kapitel 5.4.1 angepaßt.
  • Kapitel 9.8 über weitere STL Container um zusätzliche Informationen über Hash-Container erweitert.
  • Kapitel 9.15.2.3 wurde stark reduziert, indem die detailierten Information über "std::numeric_limits" in ein eigenes neues Kapitel 12.10 verschoben wurden, und dort nun detailierter dargestellt werden.
  • Kapitel 11.2.4 über die Parameter-Übergabe-Regel wurde ergänzt und an das Optimierungs-Beispiel in Kapitel 22.4.4 und die Move-Semantik angepaßt.
  • Kapitel 11.8.1 (Aufgabe Swap-Funktion) und die dazugehörige Musterlösung Kapitel 11.9 um Hinweis auf Move-Semantik und die Standard Swap-Funktion erweitert.
  • Kapitel 12.1.2 über die File-Stream Erzeugung mit Zeichenketten um Hinweise und Verweise auf das komplett veränderte Kapitel 22 angepaßt.
  • Neues Kapitel 12.1.3 über das Öffnen von Dateien zum Schreiben, ohne die Datei dabei zu löschen sondern den neuen Inhalt an den Alten anzuhängen. Achtung, die bisherigen Kapitel 12.1.3 - 12.1.5 mußten daher zu den Kapiteln 12.1.4 - 12.1.6 umnummeriert werden.
  • Die Lösung 11.12 für die Aufgabe 11.8.4 (Fibonacci-Reihe) wurde um einige Anmerkungen bzgl. der Performance und Zeit-Komplexität der rekursiven Lösung erweitert - u.a. auch durch einen Link auf einen Artikel im Internet, der die rekursive Lösung mit Caching bespricht.
  • Kapitel 12.1.4 (neue Nummerierung, früher Kapitel 12.1.3) über das binäres Öffnen von Dateien wurde um mehr Informationen und ein Beispiel erweitert.
  • Neues Kapitel 12.8 über die Funktion "std::swap" aus der Standard-Bibliothek.
  • Neues Kapitel 12.9. über Pairs und Tuple in der C++ Standard-Bibliothek und Boost.
  • Neues Kapitel 12.10. über Numeric-Limits in der C++ Standard-Bibliothek.
  • Die bisherigen Kapitel 12.8 - 12.15 mußten aufgrund der neuen Kapitel 12.8, 12.9 und 12.10 zu den Kapiteln 12.11 - 12.18 umnummeriert werden.
  • Kapitel 13.10.1 über die Zugehörigkeit von "const" zur Signatur bei Const-Element-Funktionen erweitert.
  • Kapitel 19.4.5 über Exception-Spezifikationen wurde an C++11 angepaßt.
  • Neues Kapitel 19.4.6 über die neue C++11 Exception-Spezifikation "noexcept".
  • Neues Kapitel 19.7 über das Zusammenspiel von Exception-Sicherheit und der Swap-Funktion.
  • Die bisherigen Kapitel 19.7 - 19.10 haben sich durch das neue Kapitel 19.7 zu den Kapiteln 19.8 - 19.11 umnummeriert.
  • Kapitel 22 ist komplett neu geschrieben worden. Es wurden zwar auch alte Teile übernommen, aber alle Kapitel wurden verändert, viele neue sind hinzugekommen, und auch die gesamte Struktur wurde verändert. Zusätzlich zu dem bislang vorhandenen Thema "Klassen mit externen Ressourcen" wird jetzt in Kapitel 22 auch Swapping und - zumindest einführend - Move-Semantik in C++11 abgehandelt.

32

02.02.2013
  • 757 Seiten
  • In vielen Kapiteln wurden Rechtschreibfehler und kleine Ausdrucksfehler beseitigt.
  • Kapitel 2.6 wurde komplett neu geschrieben, und gibt nun einen kurzen Überblick, welche Tools man benötigt, um ein C++ Programm zu erzeugen und zu übersetzen.
  • Es gibt ein neues kleines Kapitel 4.4, das einige Hinweise auf C++ Dokumentation enthält, die Sie vielleicht hilfreich finden. Achtung - dadurch hat sich die Numerierung der bisherigen Kapitel 4.4, 4.5 und 4.6 zu 4.5, 4.6 und 4.7 verändert.
  • In Kapitel 9.2 eine neue Abbildung (Abb. 9.3) über das "Einfügen und Löschen von Elementen vorne im Vektor" hinzugefügt.
  • Kapitel 9.11 (Container Referenz) um zwei Internet-Links zu C++ Referenz-Seiten erweitert.
  • Im Kapitel 17 über Operator-Überladung gibt es viele kleine und einige größere Erweiterungen und Änderungen - u.a. Umbenennung der Bruch-Klasse auf "rational", Vervollständigung der Beispiele, Erweiterung des Vergleichs zwischen bisherigen Funktionen und neuen Operatoren. Insbesondere betroffen davon waren die Kapitel 17.1, 17.4 und 17.10.
  • Kleine Änderungen und Erweiterungen in Kapitel 18.1.1.
  • Kapitel 18.2 über Lambda-Ausdrücke ist fertig gestellt. Komplett neu ist dabei das Kapitel 18.2.2 über die C++11 Lambdas. Und das Kapitel 18.2.3 über funktionale Bibliotheken wie die BLL wurde endlich an die Veränderungen im Tutorial angepaßt und dabei komplett überarbeitet.
  • Auch Kapitel 18.5 ("Fazit zu Algorithmen, Lambdas und Iteratoren") wurde komplett neu geschrieben und an die neuen Inhalte und die neue Kapitel-Struktur angepaßt.
  • Aufgabe 18.6.1 und die zugehörige Musterlösung 18.7 wurden an die neuen Inhalte wie z.B. die C++11 Lambdas angepaßt.
  • Viele kleine Änderungen in Kapitel 23, wie Umformatierungen, korrektes Syntax-Highlighting oder explizitere Auszeichnung der Compiler-Fehler.
  • Neues Kapitel 23.2.5, in dem noch mal an einem komplexeren Beispiel der Sinn von dynamischen Typen erklärt wird.
  • Neues Kapitel 28.4 mit den allerwichtigsten Web-Seiten zu C++

31

23.12.2012
  • 738 Seiten
  • In vielen Kapiteln wurden Rechtschreibfehler und kleine Ausdrucksfehler beseitigt.
  • In Kapitel 8.1.8 über Suchen und Ersetzen in Strings die Funktions-Erklärungen verbessert.
  • In Kapitel 9.7.1 den zusätzlichen Hinweis mit Begründung eingefügt, daß der Operator "[ ]" nicht für konstante Maps genutzt werden kann.
  • Neue Aufgabe 11.8.8 über die Formatierung eines Strings mit Einträgen aus einem Wörterbuch, und Musterlösung 11.16. Die Musterlösung besteht bislang nur aus Quelltext ohne Erklärung. Achtung - durch diese Aufgabe und Lösung haben sich die Kapitel-Nummern hinter 11.8.8 und 11.16 entsprechend verändert.
  • In Kapitel 12.2.1 die Größen aller Dateien in die Beispiel-Datei-Struktur für die Aufgabe 12.8.4 eingetragen.
  • In der Aufgabe 12.8.4 die Benutzer-Eingaben der Beispiele korrekt blau eingefärbt.
  • Quelltexte der Musterlösung 12.12 für die Aufgabe 12.8.4 (Platten-Platz) hinzugefügt, einmal mit eigener Rekursion, und einmal mit rekursivem File-System Iterator. Zur Zeit ist die Musterlösung noch ohne Erklärung, nur Quelltexte.
  • Quelltexte der Musterlösung 12.13 für die Aufgabe 12.8.5 (Datei-Suche) hinzugefügt, einmal mit eigener Rekursion, und einmal mit rekursivem File-System Iterator. Zur Zeit ist die Musterlösung noch ohne Erklärung, nur Quelltexte.
  • In der Musterlösung 12.15 (Simulation von Pi) die überflüssige Wurzel-Berechnung und den zugehörigen Header "cmath" entfernt.
  • Kapitel 17.6 über den Funktions-Aufruf-Operator um den Hinweis auf die typische Nutzung von Funktions-Objekten in den STL Algorithmen erweitert.
  • Kapitel 18.1 über den Einstieg in die STL Algorithmen umgebaut und erweitert. U.a. hat das Einführungs-Kapitel 18.1.2 drei neue Beispiele und weitere Informationen über Funktions-Objekte bekommen. Es gibt ein neues Kapitel 18.1.3 über Callables, die Nutzung von Callables zusammen mit STL Algorithmen, und einen Vergleich von Funktionen und Funktions-Objekten. Außerdem wurde das bisherige Kapitel 18.1.4 verschoben und zu Kapitel 18.3.
  • Das bisherige Kapitel 18.3 über Lambdas wurde zum Kapitel 18.2. Achtung, das Kapitel ist weiterhin nur in einem Rohzustand.
  • Es gibt ein neues Kapitel 18.3 (vorher Kapitel 18.1.4), das einige STL Algorithmen detailierter beschreibt, und viele neue Beispiele mit Funktions-Objekten und Lambda-Ausdrücken enthält, und auch an die Änderungen in den Kapiteln Kapitel 17.6 und 18.1.3 angepaßt wurde.
  • Das bisherige Kapitel 18.2 über Iteratoren wurde zu Kapitel 18.4.
  • Die restlichen Unter-Kapitel (nach bisher 18.3) in Kapitel 18 haben sich um ein Unterkapitel nach hinten verschoben, z.B. Kapitel 18.4 wurde zu 18.5, usw.

30

28.11.2012
  • 709 Seiten
  • Versions-Historie von einer Tabelle auf eine Auflistung umgestellt, da die Tabellen-Zellen über eine Seite gingen und die Seitenumbrüche dadurch unschön wurden.
  • In vielen Kapiteln wurden Rechtschreibfehler und kleine Ausdrucksfehler beseitigt.
  • Und weiter fehlendes Syntax-Highlighting in vielen Beispielen nachgezogen, vor allem in den Kapiteln 18.2 und 18.3, aber auch in vielen anderen Kapiteln.
  • Alle fehlenden Verweise ergänzt und weitere eingefügt.
  • Tutorial an die neuste Boost-Version 1.52.0 vom 6.11.2012 angepaßt.
  • Kapitel 5.7 über Ausdrucks-Optimierungen und Sequenz-Punkte eingefügt. Eigentlich wollte ich in diesem Tutorial nie so tief in die dunklen Seiten von C++ einsteigen, aber die aktuellen Erfahrungen aus dem Praktikum haben mich eines Besseren belehrt.
  • Kapitel 6.3.1 über die neue C++11 For-Schleife für Container an das neue Kapitel 9.4.2.1 angepaßt.
  • Abbildungen 9.1 und 9.2 fertig gestellt und eingefügt - Vektor Speichermodell und beim Vektor hinten einfügen und löschen.
  • Die Lösungs-Variante 9.13.2 mit expliziter Sortierung bei der Aufgabe 9.12.1 "Hallo Personen" wurde ins Kapitel 18 verschoben, da erst dort die entspechenden Informationen über STL-Algorithmen zur Verfügung stehen.
  • Kapitel 9.4.2 über bisher nur Boost.For-Each komplett erneuert, und um eine Beschreibung der neuen C++11 For-Schleife für Container erweitert.
  • Neues Kapitel 9.10 über C++11 Container Initialisierungen und die Boost-Assignment Library. Dies ist kein neues Kapitel, sondern wurde von Kapitel 18.1 hierhin verschoben, da dieses Wissen in vielen Musterlösungen benutzt wird. Außerdem wurden einige Ergänzungen und Fehlerbeseitigungen vorgenommen. Achtung, durch die Kapitel Verschiebung haben sich die Kapitel-Nummerierungen in Kapitel 9 ab 9.10 und auch in Kapitel 18 verändert.
  • Neues Kapitel 10.2.4 über die Relevanz von Referenzen, mit Beispielen für den Unterschied zwischen Kopie und Referenz.
  • Neues sehr kleines Kapitel 10.2.5, das auf die neuen R-Value Referenzen von C++11 hinweist.
  • Kapitel 10.4 über Typ-Konvertierungen erweitert und überarbeitet.
  • Kapitel 11.3.4 über const Funktions-Rückgaben erweitert, gerade auch um die C++11 Regel für Move-Semantik
  • Neues Kapitel 11.3.5 über die neue C++11 Funktions-Rückgabe-Typ Syntax.
  • Änderungen an der Musterlösung 11.10 für die Aufgabe 11.8.2 bzgl. String-Länge.
  • Neues Unterkapitel 12.1.4 mit Hinweis auf die äquivalenten File-Streams der Boost.Filesystem Library
  • Kapitel 12.2 über die Boost.Filesystem Library, das bisher nur aus einem Quelltext bestand komplett erstellt - inkl. Kurz-Referenz und mehrerer Beispiele.
  • Kapitel 12.3 über "exit" um mehr Informationen über das Argument ergänzt.
  • Kapitel 12.6 über mathematische Funktionen um die Wurzel-Funktion "sqrt" erweitert, und einige zusätzliche Infos über die Funktion "log10" hinzugefügt.
  • Neue Aufgabe 12.8.4 zur Feststellung des Platten-Platz-Verbrauchs von Dateien, bislang ohne Lösung - die dazugehörige Musterlösung 12.12 ist noch leer. Achtung - durch diese und die nächste neue Aufgabe haben sich die Kapitel-Nummerierungen in 12.8 und ab 12.12 verändert.
  • Neue Aufgabe 12.8.5 zur Suche von Dateien bestimmter Extensions, bislang ohne Lösung - die dazugehörige Musterlösung 12.13 ist noch leer. Achtung - durch diese und die vorherige neue Aufgabe haben sich die Kapitel-Nummerierungen in 12.8 und ab 12.12 verändert.
  • Neue Aufgabe 12.8.7 zur Simulation von Pi, und die dazugehörige neue Musterlösung 12.15. Die Musterlösung besteht bislang nur aus dem Quelltext und enthält noch keine Erläuterung.
  • Kapitel 18.1 wurde verschoben ins Kapitel 9 und ist nun Kapitel 9.10. Achtung - dadurch haben sich die Kapitel-Nummerierungen in Kapitel 9 (ab 9.10) und in Kapitel 18 verändert.
  • Neue Aufgabe 18.5.2 mit zugehöriger fertiger Musterlösung 18.7. Eigentlich ist dies keine neue Aufgabe, sondern nur eine weitere Lösungs-Variante für die Aufgabe 9.12.1 nun mit expliziter Sortierung. Achtung - auch hierdurch hat sich die restliche Kapitel-Nummerierung in Kapitel 18 verändert.
  • Kapitel 19.4.5 über Exception-Spezifikationen verbessert und auf den neusten C++11 Stand gebracht.

29

27.10.2012
  • 684 Seiten
  • In vielen Kapiteln Rechtschreibfehler und kleine Ausdrucksfehler beseitigt.
  • Fehlendes Syntax-Highlighting in vielen Beispielen nachgezogen.
  • Im gesamten Tutorial einheitlich auf "const typ&" und "const typ*" umgestellt, und angefangen auf "const typ" umzustellen.
  • Anpassungen in Kapitel 2.3 und 2.5 an die aktuellen Versionen der aufgeführten Compiler und der Boost Bibliothek.
  • Kapitel 3.2 über Using-Anweisungen und Using-Deklarationen um einen Abschnitt über die praktischen Vorteile von Using-Deklarationen, z.B. bei einigen Musterlösungen, erweitert.
  • Kapitel 4.3 (Editoren, Compiler, IDEs,...) aktualisiert und um das Unter-Kapitel 4.3.2.2 über den C++ Compiler CLANG erweitert.
  • Viele Änderungen in den Kapitel 5.4 und 5.5 über Variablen und Konstanten, so u.a. die Einführung des C++11 Features "auto" und erweiterte Beschreibungen.
  • Kapitel 5.6 über Operatoren erweitert, u.a. um viele neue Unter-Kapitel, die einige nicht intuitive Operatoren im Detail erklären.
  • Neue Aufgabe 5.7.1 und neue zugehörige Musterlösung in Kapitel 5.8. Achtung - die bisherige Aufgabe 5.7.1 und ihre Musterlösung 5.8 haben sich dadurch in die Kapitel 5.7.2 und 5.9 verschoben.
  • Kleine Änderungen in Kapitel 6.2 über die Switch-Anweisung.
  • Neues Kapitel 6.3.1 über die neue C++11 For-Schleife für Container.
  • Neues Kapitel 7.1.2 über die Manipulatoren "boolalpha" und "noboolalpha".
  • Kleines neues Kapitel 8.1.2 über String-Iteratoren und Algorithmen.
  • Zwei neue Aufgaben 8.6.2 und 8.6.4 im String-Kapitel mit ihren Musterlösungen 8.8 und 8.10 (nur Quelltext, noch keine Erklärung). Die alte Aufgabe 8.6.2 und ihre Musterlösung 8.8 wurden nach 8.6.3 bzw. 8.9 verschoben.
  • In Kapitel 10.1.1 einen Hinweis auf C++11 eingebaut.
  • Neues Unterkapitel 10.2.2 über die Kombination von Referenzen und dem C++11 Schlüsselwort "auto".
  • Kapitel 10.3 über Enums wurde vollständig überarbeitet, und auch um Hinweise für einige neue C++11 Features erweitert.
  • Mehrere Verbesserungen und Erweiterungen in Kapitel 17 über Operator-Überladung, u.a. ein neues Unter-Kapitel 17.6 über das Überladen des Funktions-Aufruf-Operators.
  • Neue Aufgabe 18.6.2 im Kapitel über Algorithmen mit Musterlösung 18.8 - nur Quelltext, keine Erklärung.

28

08.01.2012
  • 664 Seiten
  • In vielen Kapiteln Rechtschreibfehler und kleine Ausdrucksfehler beseitigt.
  • Kapitel 12.1.2 wurde umformuliert und an C++11 angepaßt.
  • Neues Kapitel 12.2 über Datei-System Handling mit der Boost-Filesystem-Library angefangen - bislang besteht es nur aus einem Quelltext. Durch dieses neue Kapitel haben sich die Kapitelnummern der restlichen 12er Unterkapitel natürlich erhöht.

27

11.12.2011
  • 662 Seiten
  • In vielen Kapiteln Rechtschreibfehler und kleine Ausdrucksfehler beseitigt.
  • Kapitel 2.5 an die neuste Boost Version 1.48.0 vom 15.11.2011 angepaßt.
  • In Kapitel 8 wurde ein Kapitel (8.5) über die Boost-Tokenizer-Library hinzugefügt, und die gesamte Struktur der weiterführenden Kapitel über z.B. String-Streams, Wandlungen oder die Boost-String-Algorithm-Library komplett neu organisiert.
  • In Kapitel 9.4 wurde der Hinweis aufgenommen, dass das Iterator-Paar (Start- und Ende-Iterator) nicht zwingend einem Container entsprechen muß.
  • In Kaptitel 9.7 wurden mehrere Beispiele leicht verändert und erweitert.
  • In Kapitel 9.10 kleine Fehler beseitigt, Beschreibungen konkretisiert, und einige weitere Funktionen hinzugefügt.
  • Und wieder eine grundlegende Änderung. Ich habe das neue Kapitel 12, das erst mit Version 25 eingeführt wurde, noch weiter nach hinten verschoben. Nun ist es zu Kapitel 18 geworden. Hintergrund: in Kapitel 17 werden Funktions-Klassen bzw. Funktions-Objekte eingeführt, und die wollte ich gerne zur Verfügung haben.
  • Kapitel 13.16 wurde nach vorne vor die Aufgaben geschoben und ist nun zu Kapitel 13.12 geworden. Außerdem habe ich das Kapitel im Detail leicht verändert und an neue Entwicklungen angepaßt.
  • An Kapitel 18 (vorher Kapitel 12) wurde weiter geschrieben. Sowohl Kapitel 18.2 als auch Kapitel 18.3 sind nun bis auf die noch fehlenden Abbildungen fertig.

26

06.11.2011
  • 645 Seiten
  • In vielen Kapiteln Rechtschreibfehler und kleine Ausdrucksfehler beseitigt.
  • Und mal wieder Kapitel 5.3 erweitert und verbessert - das Thema Zeichensätze und Internationalisierung macht mir immer wieder Probleme. Eigentlich will ich das Thema nicht groß besprechen da es den Rahmen sprengt und nicht das Haupt-Thema ist - aber ignorieren kann ich es auch nicht.
  • Minimale Erweiterungen im Kapitel 5.6.
  • Kapitel 8.1.5 wurde um ein Beispiel für den fehlerhaften Vergleich von Zeichenketten-Konstanten erweitert.
  • Kapitel 8.1.10 um ein paar Infos und ein Beispiel erweitert.
  • Kapitel 9 wurde weiter bearbeitet und ist nun erstmal fertig - besonders die Unterkapitel 9.4, 9.5, 9.6 und 9.7 sind komplett neu geschrieben worden - aber auch alle anderen Kapitel wurden verändert. Es fehlen noch alle Abbildungen und die Aufgaben müssen noch an die neue Kapitel-Struktur angepaßt werden.
  • Kapitel 12 wurde angefangen neu zu schreiben - bis Kapitel 12.2.3.4 ist es halbwegs fertig.
  • Kapitel 17.2 wurde aufgrund des Kapitel 12.1.1 umbenannt und exakter formuliert.

25

16.10.2011
  • 610 Seiten
  • Kapitel 1 wurde auf die aktuelle Vorlesung & Praktikum angepaßt.
  • Kapitel 2 wurde an den neuen C++ ISO Standard C++11 und die Situation rund um den Standard herum angepaßt - Kapitel 2.5 auch an die neuste Boost Version. Hier hat sich also einiges geändert.
  • Kapitel 3.2 wurde um eine Kurzeinführung von Using-Deklarationen erweitert.
  • Viel kleine Änderungen in Kapitel 4 an die neusten Versionen von Editoren, Compilern und natürlich auch den neuen ISO Standard C++11.
  • Das Kapitel 5 ist an vielen Stellen verbessert und umformuliert worden, außerdem wurden neue Beispiele eingeführt und mehrere Stellen stark an den neuen Standard C++11 angepaßt - besonders die Unter-Kapitel 5.1 und 5.4.1.
  • Kapitel 6.1 wurde komplett neu geschrieben - viel ausführlicher und mehr Beispiele.
  • Kleine Änderungen in Kapitel 6.8 - u.a. Beispiele erweitert.
  • Viele kleine Änderungen in Kapitel 7 - Rechtschreibfehler, Beispiele erweitert und Erklärungen verbessert.
  • Auch Kapitel 8 hat einige Erweiterungen erfahren, besonders die Unter-Kapitel 8.1.1, Kapitel 8.1.10 und Kapitel 8.3.
  • Es wurde angefangen Kapitel 9 in vielen Teilen komplett neu zu scheiben und Teile in ein neues Kapitel 12 auszulagern, um die Container & Iteratoren auf der einen Seite (Kapitel 9) und die Fortgeschrittenen-Themen wie z.B. Algorithmen (Kapitel 12) zu trennen.

24

08.03.2011
  • 592 Seiten
  • Titelblatt eingeführt - mit Copyright und Hinweis auf die freie Verfügbarkeit des unveränderten Tutorials für Unterrichtszwecke.
  • Fußzeile um Link auf meine Homepage erweitert.
  • Kapitel 1 um Copyright und Hinweis auf die freie Verfügbarkeit des unveränderten Tutorials für Unterrichtszwecke erweitert.
  • In vielen Kapiteln Rechtschreibfehler und kleine Ausdrucksfehler beseitigt.
  • Kapitel 11.17.1 um Hinweis zur Vermeidung globaler Variablen ergänzt.
  • Kapitel 14.2.1 ergänzt um Verweise auf gebräuchliche C++ Style Guides - inkl. Links ins Internet.
Sektionen: