Stage 1 of 6 · 8 lessons · ~4 months
Your first language
Learn modern C++ properly: types, control flow, functions, references, std::vector and std::string, and how compiling works. C++ shows you what the machine is doing, which makes it slower to learn and very rewarding.
Start: Compiling, linking and warningsLessons· one lesson for each topic, in this order
Start with
- CourseFreeLearnCpp.com
LearnCpp.com · Beginner
Free, current and careful: chapters 0 to 16 take you from setup to references and std::vector
Practise
Keep handy
Before moving on: Write a 200-line C++ command-line program, such as a quiz or a budget tracker, split across two source files, using std::vector, std::map and file input, compiled with warnings on (-Wall -Wextra) and no warnings left.

Learn modern C++ (C++17 or later) from learncpp and ignore old tutorials full of raw new, delete and char arrays. Always compile with warnings on and read the first error, not the last one.