C++ Tutorial
Performance and systems programming
Master C++ with 25 free lessons. Pointers, classes, templates, STL, and modern C++ — the foundation for competitive programming and systems development.
What you'll learn
- C++ syntax and pointers
- Classes and OOP
- Templates and generics
- STL containers and algorithms
- Modern C++11/14/17 features
Prerequisites
- Patience with low-level details
- A C++ compiler (g++, clang, or online)
Why learn C++?
- C++ is the language of choice for competitive programming
- Used in game engines, browsers, embedded systems, finance
- Teaches memory management — invaluable everywhere
- High-paying systems and performance roles
Course Curriculum
25 lessons · ~18 hours · self-paced
- 1
Introduction to C++
What is C++?
- 2
Installing C++ & Setup
Which Compiler Should You Install?
- 3
Variables & Data Types
What a Variable Actually Is
- 4
Operators
Arithmetic, and the Integer Division Trap
- 5
Strings
Why std::string Exists
- 6
User Input & Output
Streams, Not Print Statements
- 7
Conditionals
if / else if / else, and Why Order Matters
- 8
Loops
The for Loop, Taken Apart
- 9
Arrays
What an Array Is in Memory
- 10
Functions
A Function Is a Contract
- 11
Pointers
Addresses, and the Two Operators
- 12
References
A Second Name for the Same Object
- 13
Structures
The Problem Structs Solve
- 14
Classes & Objects
A Class Is a Type That Protects a Rule
- 15
Constructors & Destructors
The Special Member Functions
- 16
Inheritance
Inheritance Means "Is A"
- 17
Polymorphism
The Problem Polymorphism Solves
- 18
Encapsulation
Encapsulation Is About Invariants, Not Secrecy
- 19
Templates
Writing the Same Function Once
- 20
Exception Handling
Why Exceptions Exist
- 21
File Handling
A File Is Just Another Stream
- 22
STL Containers
Choosing the Right Container
- 23
STL Algorithms
Iterators: Why Every Algorithm Takes Two Arguments
- 24
C++ Best Practices
Let the Standard Library Do the Work
- 25
Final Project: Build a C++ App
What You Are Building
Ready to start?
All 25 lessons are free. No credit card. No sign-up required to read.
Start with lesson 1: Introduction to C++