Best for performance-focused learning
This free, interactive C++ course covers variables, data types, control flow, loops, functions, arrays, pointers, classes, objects, inheritance, polymorphism, templates, error handling, and modern C++ patterns — all by compiling and running real C++ code in your browser.
Who this is for
Beginners who want to understand how programming works at a low level, game developers, systems programmers, and engineers who care about performance.
What you'll build
Start here
Write your first C++ program — understand #include, main(), cout, cin, compilation, and why C++ is the language of speed.
Full curriculum
Write your first C++ program — understand #include, main(), cout, cin, compilation, and why C++ is the language of speed.
Declare variables in C++ — types, initialization, auto, const, naming rules, and scope.
C++ fundamental types — integers, floats, chars, bools — their sizes, limits, casting, and all operators.
std::string — methods, concatenation, getline, string operations, string_view, and C-strings vs std::string.
if/else, switch, ternary operator, logical operators, and short-circuit evaluation in C++.
for, while, do-while, range-based for, break, continue — all of C++'s looping constructs.
Declare and call functions, pass by value vs reference, default arguments, overloading, inline, and recursion.
C arrays, std::vector, std::array, indexing, traversal, and when to use each.
Memory addresses, pointer declaration, dereferencing, nullptr, pointer arithmetic, and references — C++'s most distinctive feature.
Stack vs heap, new and delete, memory leaks, smart pointers — unique_ptr and shared_ptr — and RAII.
struct for grouping data, enum and enum class for named constants, unions, and the difference from classes.
C++ classes — constructors, destructors, member functions, this pointer, operator overloading, and the Rule of Three/Five.
Access specifiers, getters/setters, data validation, private implementation, and friend functions.
Extend classes with inheritance, virtual functions, pure virtual functions, abstract classes, and polymorphic dispatch.
Generic programming with function templates, class templates, template specialization, and variadic templates.
vector, map, set, unordered_map, list, deque, stack, queue — the C++ Standard Library containers.
sort, find, transform, accumulate, count_if, for_each, and other powerful algorithms from <algorithm> and <numeric>.
try/catch/throw, exception hierarchy, custom exceptions, noexcept, RAII for error safety, and error codes.
Read and write files with fstream, ifstream, ofstream — text mode, binary mode, and stream state checking.
Lambda expressions, captures, std::function, std::bind, and functional programming patterns in C++.
C++11/14/17/20 features — move semantics, rvalue references, auto, range-for, structured bindings, if constexpr, concepts, and more.
std::thread, mutex, lock_guard, atomic, async, future, and promise — concurrent programming in C++.
C++ powers game engines, operating systems, embedded systems, high-frequency trading, and performance-critical applications. Companies like Google, Microsoft, Apple, and Amazon use C++ for their most demanding systems. Learning C++ gives you deep understanding of how computers work — memory management, pointers, and low-level optimization.
This free, interactive C++ course covers variables, data types, control flow, loops, functions, arrays, pointers, classes, objects, inheritance, polymorphism, templates, error handling, and modern C++ patterns — all by compiling and running real C++ code in your browser.
22 topics · 137 hands-on lessons · all levels
Beginners who want to understand how programming works at a low level, game developers, systems programmers, and engineers who care about performance.