Englischsprachige Ressourcen zur Programmiersprache C++
Entwicklungssysteme
TDM-GCC
Build Tools for Visual Studio 2017 These Build Tools allow you to build native and managed MSBuild-based applications without requiring the Visual Studio IDE. There are options to install the Visual C++ compilers and libraries, MFC, ATL, and C++/CLI support, and .NET and .NET Core support.
clang
- GCC
- nuwen.net/mingw.html
- ftp.equation.com/gcc/gcc-9-20190203-64.exe (using FTP)
- ftp.equation.com/gcc/gcc-9-20190203-32.exe (using FTP)
- examples for filenames: gcc-5.3.0-32.exe, gcc-5.3.0-32.iso, gcc-5.3.0-64.exe, gcc-5.3.0-64.iso, gcc-5.3.0.tar.bz2, gcc-6.3.0-32.exe, gcc-6.3.0-32.iso, gcc-6.3.0-64.exe, gcc-6.3.0-64.iso, gcc-6.3.0.tar.bz2, gcc-7.4.0-32.exe, gcc-7.4.0-32.iso, gcc-7.4.0-64.exe, gcc-7.4.0-64.iso, gcc-7.4.0.tar.xz, gcc-8.2.0-32.exe, gcc-8.2.0-32.iso, gcc-8.2.0-64.exe, gcc-8.2.0-64.iso, gcc-8.2.0.tar.xz, gcc-9-20190127-32.exe, gcc-9-20190127-32.iso, gcc-9-20190127-64.exe, gcc-9-20190127-64.iso, gcc-9-20190127.tar.xz, gcc-9-20190203-32.exe, gcc-9-20190203-32.iso, gcc-9-20190203-64.exe, gcc-9-20190203-64.iso, gcc-9-20190203.tar.xz
Bücher
Jeder C++ -Programmierer muß unbedingt die Bücher “Effective C++ ”, “More Effective C++ ”, “Exceptional C++ ”, “More Exceptional C++ ” und “Effective Modern C++ ” gelesen haben muß (und zwar jedes am besten mehrfach, solange bis einem die Inhalte vertraut geworden sind). Einige dieser Bücher sind zwar heute etwas veraltet, aber enthalten trotzdem immer noch absolut notwendiges Wissen. Falls man allerdings eine neuere Auflage eines dieser Bücher findet, die auch aktuelles C++ behandeln, wäre dies noch besser. Diese Bücher richten sich jedoch nicht an Anfänger, sondern an Leser, welche die Grundlagen der Sprache bereits kennen, daher sollte man zuvor erst einmal Einführungen in die Sprache gelesen haben.
Bücher für Anfänger ohne Vorkenntnisse
Um C++ -Programmieren noch einmal von Anfang an zu erlernen kann aber zunächst erst einmal, falls eine solche Wiederholung gewünscht wird, das folgende Lehrbuch gelesen werden, das auch noch einmal das Programmieren allgemein an Hand von C++ behandelt:
- “Programming: Principles and Practice Using C++ ”, von Bjarne Stroustrup
- Empfehlungsstatus: Dieses Buch wurde von Stefan Ram noch nicht bewertet.
- Laut Bjarne Stroustrup: „ein Programmbuch für Anfänger, die irgendwann einmal beruflich programmieren wollen“
Bücher für Anfänger mit Vorkenntnissen
Ein Lehrbuch, das sich mehr auf die Sprache konzentriert und oft empfohlen wird, ist:
- “C++ Primer ”, fifth edition von Barbara Moo und anderen
- Empfehlungsstatus: Dieses Buch ist gut. Man sollte allerdings darauf achten, daß man keine frühere Auflage kauft (also die englische fünfte oder eine spätere) und daß Lippman und Moo unter den genannten Autoren sind (da es noch andere Bücher mit demselben oder einem ähnlichen Titel gibt).
Ebenfalls ein gutes Lehrbuch, das in etwas schnellerem Tempo vorangeht, aber manchmal etwas ermüdende Beispiele enthält, ist
- “Accelerated C++ ”, von Andrew Koenig und Barbara Moo (auf deutsch: „Intensivkurs C++ “)
- Empfehlungsstatus: (siehe oben)
Zur Vertiefung und zum Ausbau der Kenntnisse der Grundlagen kann aber auch das folgende Buch gelesen werden, das sich vielleicht an Leser richtet, die eine etwas komprimiertere Darstellung bevorzugen, die zwischen Lehrbuch und Nachschlagewerk angesiedelt ist:
- “The C++ programming language ”, fourth edition von Bjarne Stroustrup (auf deutsch: „Die C++-Programmiersprache “, aber man sollte besser eine Auflage lesen, die nach 2012 herauskam, die deutsche vierte Auflage ist nicht die Übersetzung der fourth edition, sondern eine inzwischen veraltete Übersetzung wohl einer erweiterten third edition ! Es gibt derzeit (2016) wohl noch keine Übersetzung der englischen fourth edition.)
- Laut Bjarne Stroustrup: „eine ausführliche Beschreibung der Programmiersprache C++, ihrer Standardbibliothek und grundlegender Techniken für erfahrene Programmierer“
- Empfehlungsstatus: Sehr empfehlenswert für Anfänger mit Grundkenntnissen und Fortgeschrittene.
Bücher für Leser mit Sprachkenntnissen
Wer fehlerarme und effiziente C++ -Programme schreiben oder warten will, sollte nach dem Erlernen der Grundlagen der Sprache mit einem Lehrbuch unbedingt die folgenden Bücher gelesen und verstanden haben (in etwa in der unten angegebenen Reihenfolge). Diese setzen aber schon gute Grundkenntnisse voraus, wie sie von den weiter oben stehenden Büchern vermittelt werden.
- “Effective C++ ” von Scott Meyers (auf deutsch als „Effektiv C++ programmieren“)
- Empfehlungsstatus: Sehr empfehlenswert für Leser, die bereits ein Buch zur Einführung in die Sprache gelesen haben.
- “More Effective C++ ” von Scott Meyers (auf deutsch als „Mehr effektiv C++ programmieren “)
- Empfehlungsstatus: Sehr empfehlenswert für Leser, die bereits ein Buch zur Einführung in die Sprache gelesen haben.
- “Exceptional C++ ” von Herb Sutter
- Empfehlungsstatus: Sehr empfehlenswert für Leser, die bereits ein Buch zur Einführung in die Sprache gelesen haben.
- “More Exceptional C++ ” von Herb Sutter
- Empfehlungsstatus: Sehr empfehlenswert für Leser, die bereits ein Buch zur Einführung in die Sprache gelesen haben.
- “C++ Coding Standards ” von Herb Sutter und Andrei Alexandrescu
- Empfehlungsstatus: Sehr empfehlenswert für Leser, die bereits ein Buch zur Einführung in die Sprache gelesen haben.
- “Effective Modern C++ ” von Scott Meyers (auf deutsch als „Effektives modernes C++ “, Deutsche Übersetzung von Thomas Demmig, 1. Auflage April 2015, ISBN 9783958750494, 320 Seiten, Hardcover)
- Empfehlungsstatus: Sehr empfehlenswert für Leser, die bereits ein Buch zur Einführung in die Sprache gelesen haben.
Im allgemeinen sollte man möglichst alle Bücher von Bjarne Stroustrup, Herb Sutter und Scott Meyers über C++ lesen, insbesondere auch, wenn es mal wieder ein neues Buch zu diesem Thema von einem dieser Autoren gibt, denn neuere Bücher sind besser an die aktuelle C++ -Version angepaßt, und C++ hat sich in den letzten Jahren sehr verändert und ist derzeit (2016) weiterhin im Umbruch!
Neben diesen vier obenstehenden Büchern von Meyers und Sutter ist ebenfalls noch empfehlenswert:
- “Effective STL” von Scott Meyers
- Empfehlungsstatus: Dieses Buch wurde von Stefan Ram noch nicht bewertet.
Bücher für Leser mit guten Sprachkenntnissen
Wichtig und lesenwert, aber etwas anspruchsvoller, ist dann schließlich noch:
“Modern C++-Design ” von Andrei Alexandrescu
- Empfehlungsstatus: Sehr empfehlenswert für Fortgeschrittene.
URIs
- Die C++-FAQ
http://isocpp.org/faq
- Die Core-Guidelines auf einer Seite als HTML formatiert
http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines
- Spezielle Richtlinien für Bibliotheksautoren
isocpp.org/std/library-design-guidelines
- URIs
http://en.cppreference.com/ (gut!)
http://en.cppreference.com/book/
http://isocpp.org/
http://www.gotw.ca/publications/c++cs.htm
http://www.gotw.ca/gotw/index.htm
http://knot805.eti.pg.gda.pl/po/pdf/C++11.pdf
http://www.research.att.com/~bs
http://www.boost.org/
http://en.cppreference.com
http://www.cplusplus.com/reference
http://llvm.org/releases/3.8.0/libcxx-3.8.0.src.tar.xz
- Compiler Explorer mit relative aktuellen Compiler-Versionen von Matt Godbolt
https://godbolt.org/
https://gcc.godbolt.org/
- URIs for C++ under Windows
http://orwelldevcpp.blogspot.com/
http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/dongsheng-daily/6.x/gcc-6-win64_6.0.0-20150425.7z/download
http://www.cevelop.com/
Articles
- http://www.ultimeth.com/Feb1999.pdf
- const T vs. T const by Dan Saks : Why "const" should be written not before, but after the type it modifies, from Embedded Systems Programming.
- http://david.tribble.com/text/cdiffs.htm
- Incompatibilities Between ISO C and ISO C++ by David R. Tribble.
Videos
Sicherheit
CppCon 2015 - Herb Sutter — prevent dangling
CppCon 2016 - Herb Sutter — prevent leaking
Effizienz
C++ Microbenchmarks with Barriers - Chandler Carruth (2015) - CppCon
Want fast C++? Know your hardware - Timur Doumler - CppCon 2016
CppCon 2016_ Jason Turner ''Practical Performance Practices''
Sonstiges
CppCon 2016_ Chandler Carruth “Garbage In, Garbage Out_ Arguing about Undefined Behavior...'
CppCon 2016 Dan Saks extern C Talking to C Programmers about C++ — frames, “once you're arguing, you're losing”
CppCon 2016_ Nicholas Ormrod “The strange details of std__string at Facebook'
Such-Eingaben
"This file is part of the GNU ISO C++ Library"filetype:c OR filetype:cc OR filetype:cpp OR filetype:cxx OR filetype:h OR filetype:hh OR filetype:hpp OR filetype:hxx http://libcxx.llvm.org/http://gcc.gnu.org/viewcvs/gcc/trunk/libstdc%2B%2B-v3/libsupc%2B%2B/"GNU" "binary_search" filetype:c OR filetype:cc OR filetype:cpp OR filetype:cxx OR filetype:h OR filetype:hh OR filetype:hpp OR filetype:hxx -inurl:testsuitestl_algo.h