C++ SELF
Become an in-demand C++ developer — from your first program to professional projects. 72 levels of practice: memory management, multithreading, metaprogramming, C++20/23. 1000+ tasks with auto-validation. Gamedev, systems programming, embedded, finance — C++ opens doors to high-paying development!
- Level 1
Locked Web-IDE and First Program - Level 2
Locked Integers, Strings, and Input - Level 3
Locked Conditional Statements and Logic - Level 4
Locked Loops, break/continue - Level 5
Locked IDE Setup and First Project - Level 6
Locked Variables, Types, and Expressions - Level 7
Locked Initialization and Literals - Level 8
Locked Numeric Types and Overflows - Level 9
Locked Strings and Basic Parsing - Level 10
Locked Floating-Point Numbers and Formatting - Level 11
Locked Arrays and std::array - Level 12
Locked std::vector and Iteration - Level 13
Locked Iteration and Iterators - Level 14
Locked Functions and Signatures - Level 15
Locked Function Parameters and Return Values - Level 16
Locked Recursion and Call Stack - Level 17
Locked String Parsing - Level 18
Locked View Types (string_view, span) - Level 19
Locked Structures and Enumerations - Level 20
Locked Input Error Handling - Level 21
Locked Basic STL Algorithms - Level 22
Locked Lambda Expressions - Level 23
Locked variant, expected, and Error Policies - Level 24
Locked Modifying Collections - Level 25
Locked Associative Containers - Level 26
Locked Translation Units and namespace - Level 27
Locked Header Files - Level 28
Locked Preprocessor and Macros - Level 29
Locked ODR and Linkage - Level 30
Locked Build Stages and Diagnostics - Level 31
Locked CMake Basics - Level 32
Locked Build Configurations - Level 33
Locked CLI Build - Level 34
Locked Debugger - Level 35
Locked Sanitizers and assert - Level 36
Locked Git and GitHub - Level 37
Locked Unit Tests and CI - Level 38
Locked Memory Models and lifetime - Level 39
Locked Pointers - Level 40
Locked References and const - Level 41
Locked Managing Pointers in Collections - Level 42
Locked RAII Principle - Level 43
Locked Smart Pointer unique_ptr - Level 44
Locked Smart Pointers shared_ptr and weak_ptr - Level 45
Locked Copy Management (Rule of Zero/Five) - Level 46
Locked Move Semantics - Level 47
Locked Optimization and Memory Safety - Level 48
Locked Classes and Interfaces - Level 49
Locked Constructors and Operators - Level 50
Locked Composition and Architecture - Level 51
Locked Inheritance and Polymorphism - Level 52
Locked Abstract Classes and Interfaces - Level 53
Locked Exceptions - Level 54
Locked Exception Safety - Level 55
Locked Error Handling Policy - Level 56
Locked Template Basics - Level 57
Locked Type Deduction (CTAD, auto, decltype) - Level 58
Locked Concepts - Level 59
Locked Advanced Iterators - Level 60
Locked Containers and Adapters - Level 61
Locked Advanced Algorithms - Level 62
Locked std::ranges and views - Level 63
Locked File and Stream Operations - Level 64
Locked std::filesystem Library - Level 65
Locked Working with JSON - Level 66
Locked Time and std::chrono - Level 67
Locked CLI Arguments and Logging - Level 68
Locked Thread Basics (std::thread) - Level 69
Locked std::jthread and Safe Cancellation - Level 70
Locked Synchronization (mutex) - Level 71
Locked Condition Variables (condition_variable) - Level 72
Locked Asynchrony and Atomic Operations - Level 73
Locked Final Project