- cplusplus.com tutorial
- Thinking in C++ by Bruce Eckel (example code)
- The C++ Standard Library - A Tutorial and Reference
The cplusplus.com 144-page tutorial can give you a basic understanding of the features of C++ and the structure of a C++ program. This tutorial should definitely be read first.
Thinking in C++
“Thinking in C++” is a book that goes much more in depth than the tutorial. It contains some long examples with around a hundred lines of code, but I encourage you (the person without a life) to read over every single line and make sure you understand what each program does. CLICK HERE to download all of the example code (zip file). Also, you should do all of the exercises (at least for the first 12 chapters).
You can use a C++ development environment like Microsoft Visual Studio Community 2019 to run and debug all of the examples and see how every variable changes and what functions are called. When using Visual Studio, you should run all of the examples as “Console Applications” (not “Desktop Applications”)
Chapter 16 of this book introduces you to templates, the most important part of the C++ Standard Template Library (look at what I wrote for the next book).
The C++ Standard Library
“The C++ Standard Library - A Tutorial and Reference” is a long 1000-page book which covers everything in the C++ Standard Library, a large set of built-in tools which C++ offers. Although you can definitely read the entire book, here are the most important parts which you must read:
- Chapter 3: EVERYTHING (25 pages) Explains the differences between C++11 and C++98 (Thinking in C++ covers C++98)
- Chapter 6: 6.1 - 6.7 (60 pages) This section of the book gives you a basic understanding of the C++ Standard Template Library (part of the Standard Library)
- Chapter 7: EVERYTHING (140 pages) Goes into detail on the different Standard Template Library containers (objects used to store other objects), how they work, and when to use the different containers.
- Chapter 8: EVERYTHING (40 pages) More on containers.
- Chapter 9: EVERYTHING (40 pages) Iterators.
- Chapter 11: EVERYTHING (120 pages) Useful algorithms which you can apply to containers and other data types.
- Chapter 12: EVERYTHING (20 pages) Other containers which serve special purposes.