Programmieren C++
Eigene Unterlagen
Operator Overloading
- ... auf Wikipedia,
alte Version:
Diese Version hat eine schöne Tabelle, wo die üblichen und sinnvollen Prototypen
aller Operatoren sowohl als Methode als auch als Funktion aufgelistet sind,
incl. aller richtigen const und & (Referenzen).
- ... auf Wikipedia, aktuelle Version
(leider mit unbrauchbaren Prototypen für die Operator-Methoden).
C++ Programmierstil
- Der
HIC Coding Standard
ist eine der umfangreichsten und
allgemein anerkannten Richtlinien für guten C++ Programmierstil.
(er verwendet allerdings schon den neuen C++-11-Standard,
enthält also Konstrukte, die wir noch nicht gelernt haben).
C++ Standard Library Dokumentation
Beispiel-Code
- Diese externe Webseite mit der universellen convert-Funktion
(umwandeln zwischen beliebigen Typen mittels Ausgeben
in einen Stringstream und wieder Einlesen)
demonstriert Stringstreams, Templates und Exceptions.
Bücher
Grundlegende Literatur:
- Jürgen Wolf: Grundkurs C++
(in der Bibliothek!)
Derzeit in meinen Augen das geeignetste und modernste Anfänger-Buch:
Bei in etwa gleichem Preis etwas umfangreicher und viel aktueller
als der Erlenkötter!
- Helmut Erlenkötter: C++: Objektorientiertes Programmieren von Anfang an
(in der Bibliothek!)
Knapp, minimal, alt und sehr billig.
Achtung: Reicht betreffend C++ nur knapp so weit, wie wir es brauchen!
Außerdem werde ich mit der Art der Beispiele in diesem Buch am wenigsten glücklich,
aber ich habe noch kein C++-Buch mit wirklich guten Beispielen gefunden ...
(und am Code im Erlenkötter-Buch stören mich ein paar stilistische Eigenheiten:
Bitte erstens in Klassen public: oben und private: unten,
und zweitens in allen Prototypen Parameter-Namen zur Verständlichkeit!)
- Arnold Willemer: C++. Der Einstieg (Aktuell zu C++ 11)
Etwas umfangreicher und neuer als der Erlenkötter.
Ich kenne nur den Vorgänger dieses Buches im Detail, nicht das aktuelle Buch,
und beim Vorgänger waren die Beispiele auch nicht optimal.
Diese Version wurde aber von manchen meiner Studenten sehr gelobt.
- Ulla Kirch und Peter Prinz: C++ - Lernen und professionell anwenden
(in der Bibliothek!)
Ich kenne das Buch nicht, aber es sieht gut aus und ist sehr modern (C++ 14)
und viel umfassender als die vorigen Bücher (incl. STL-Container, Multithreading, ...)!
Alle Bücher sind zur Hälfte C und zur Hälfte C++
(d.h. beginnen bei Null, keine C-Vorkenntnisse nötig)
und einfach zu lesen bzw. "unwissenschaftlich".
Und als gutes Nachschlag- und Vertiefungswerk
(aber nicht zum neu C++ Lernen, beide Bücher haben weit über 1000 Seiten):
- Jürgen Wolf: C++: Das umfassende Handbuch
(in der Bibliothek!)
(neuer, incl. C++ 11)
- Jürgen Wolf: C++ von A bis Z
(de facto das Vorgänger-Buch, etwas älter)
Beide umfassen auch fortgeschrittene Themen wie STL, GUI-Programmierung, Parallel-Programmierung usw.
Für uns nicht sinnvoll:
- C++ in 21 Tagen, C++ for Dummies, die Dirk-Louis-C++-Bücher von Markt & Technik
und andere Einsteiger-Bücher (zu Low-Level, nicht alles drin was wir brauchen).
- Die Bücher von Stroustrup (dem C++-Erfinder), insbesondere
Bjarne Stroustrup: Die C++-Programmiersprache: Aktuell zu C++11
(in der Bibliothek!)
Sie sind die ultimative Referenz und als solche perfekt:
Das oben genannte C++-Buch ist das modernste und umfassendste C++-Buch, das ich kenne,
insbesondere werden die neuen C++ 11-Konstrukte im Detail erklärt und auch begründet,
und auch die STL wird bis in den hintersten Winkel genau erklärt.
Aber das Buch ist kein guter Anfang zum Lernen:
Zu viel Information zu knapp, zu anstrengend und zu trocken...
(und viel mehr Stoff, als wir je behandeln!)
- Die Bücher von Prof. Breymann (dem deutschen C++-Guru):
Auch inhaltlich perfekt, aber für unseren Zweck zu trocken und akademisch...
- Torsten Will: C++ 11 programmieren
(in der Bibliothek!)
Das ist weder ein Lehrbuch noch ein Nachschlag-Buch,
sondern ein reines "Update-Buch" auf C++ 11 für Leute, die schon "altes" C++ können
(und dafür, aber nur dafür, ist es auch gut!).
Weiterführende Literatur für die, die sich über die Lehrveranstaltung hinaus
in ernsthafte angewandte Programmierung mit C++ vertiefen wollen:
- Scott Meyers: Effective C++: 55 Specific Ways to Improve Your Programs and Designs
Scott Meyers: More Effective C++: 35 New Ways to Improve Your Programs and Designs
Scott Meyers: Effective STL: 50 Specific Ways to Improve the Use of the Standard Template Library
Scott Meyers: Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14
- Herb Sutter, Andrei Alexandrescu: C++ Coding Standards: 101 Rules, Guidelines and Best Practices (C++ In-Depth)
- Herb Sutter: Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions
Herb Sutter: More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions
Herb Sutter: Exceptional C++ Style: 40 New Engineering Puzzles, Programming Problems, and Solutions
(eine Art C++ Puzzle Book mit vielen häufigen Fallen)
- Andrei Alexandrescu: Modern C++ Design, Generic Programming and Design Patterns Applied
(einige Jahre alt und sehr fortgeschritten,
gilt als das Jahrhundert-Buch betreffend Template-Programmierung...)
- Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides:
Design Patterns: Elements of Reusable Object-Oriented Software
(Das "Gang of Four"-Buch: Ein Klassiker, auch wenn er über 15 Jahre alt und nur teilweise ein C++-Buch ist)
(solche Bücher bitte immer im englischen Original kaufen!)
Online C++ - Einführungen