CodeGym/Courses/C++ Course

C++ Course

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!
4.9
100+ reviews
30k graduates built careers in IT
Learn More
Detailed training program
  • Web IDE and Your First Program
  • Integers, Strings and Input
  • Conditionals and Logic
  • Loops, break/continue
  • Setting Up an IDE and First Project
  • Variables, Types and Expressions
  • Initialization and Literals
  • Numeric Types and Overflows
  • Strings and Basic Parsing
  • Floating-Point Numbers and Formatting
  • Arrays and std::array
  • std::vector and Iteration
  • Iteration and Iterators
  • Functions and Signatures
  • Function Parameters and Return Values
  • Recursion and the Call Stack
  • String Parsing
  • View Types (string_view, span)
  • Structs and Enumerations
  • Input Error Handling
  • Basic STL Algorithms
  • Lambda Expressions
  • variant, expected and Error Policies
  • Modifying Collections
  • Associative Containers
  • Translation Units and Namespaces
  • Header Files
  • Preprocessor and Macros
  • ODR and Linkage
  • Build Stages and Diagnostics
  • CMake Basics
  • Build Configurations
  • Command-Line Builds
  • Debugger
  • Sanitizers and assert
  • Git and GitHub
  • Unit Tests and CI
  • Memory Models and Lifetime
  • Pointers
  • References and const
  • Managing Pointers in Collections
  • The RAII Principle
  • Smart Pointer unique_ptr
  • Smart Pointers shared_ptr and weak_ptr
  • Copy Control (Rule of Zero/Five)
  • Move Semantics
  • Memory Optimization and Safety
  • Classes and Interfaces
  • Constructors and Operators
  • Composition and Architecture
  • Inheritance and Polymorphism
  • Abstract Classes and Interfaces
  • Exceptions
  • Exception Safety
  • Error Handling Policy
  • Template Basics
  • Type Deduction (CTAD, auto, decltype)
  • Concepts
  • Advanced Iterators
  • Containers and Adapters
  • Advanced Algorithms
  • std::ranges and Views
  • Files and Streams
  • The std::filesystem Library
  • Working with JSON
  • Time and std::chrono
  • CLI Arguments and Logging
  • Thread Basics (std::thread)
  • std::jthread and Safe Stopping
  • Synchronization (mutex)
  • Condition Variables (condition_variable)
  • Async and Atomic Operations
360+
Lessons
1000+
Tasks
72
Tests
And also:
  • Instant validation
  • AI code validator
  • CLion plugin
  • WebIDE
  • Gamification
  • Motivational lectures