This site contains an original, self-contained guide to learning the fundamentals of Modern C++, intended to be the basis of a self-study course. Some Chapters depend upon material presented in earlier ones, so studying them linearly is recommended. There are also regular posts (accessible from the front page) which cover topics or areas of C++ not covered in the course.
If you have any queries or suggestions, please leave a comment. The course materials are in a completed state and are made freely available here:
- About this Tutorial
- String and Character Literals
- Variables, Scopes and Namespaces
- Conditions and Operators
- Functions
- Arrays, Pointers and Loops
- Enums and Structs
- Strings, Containers and Views
- Files and Formatting
- Classes, Friends and Polymorphism
- Templates, Exceptions, Lambdas, Smart Pointers
Download the code examples (as a zipfile) or browse on GitHub.
View details of the course topics.
Last update: 2023/05/04