Beginner Topics / Start here Find the detailed version of this roadmap
Intermediate Topics / Pick Next along with other similar roadmaps
Advanced Topics / Pick Later
C++ roadmap.sh
Optional / Learn if you want
References
Salmer's C++ Roadmap
What is C++?
Introduction to Language Why use C++
C vs C++
Setting up your Environment Basic Operations
if else / switch / goto
for / while / do while loops
Installing C++ Arithmetic Operators
Code Editors / IDEs Logical Operators
Control Flow & Statements
Running your First Program Bitwise Operators
Pointers and References Data Types Functions
References Static Typing Operator Overloading
Memory Model Dynamic Typing Lambdas
Lifetime of Objects Static Polymorphism
RTTI
Function Overloading
Smart Pointers
Forward Declaration
weak_ptr
Headers / CPP Files Virtual Methods Virtual Tables
shared_ptr
Dynamic Polymorphism
Namespaces
unique_ptr
Scope Object Oriented Programming
Raw Pointers
New/Delete Operators Structuring Codebase Structures and Classes
Memory Leakage
Multiple Inheritance
Diamond Inheritance
Language Concepts Exception Handling
Rule of Zero, Five, Three
auto (Automatic Type Deduction) Exit Codes
Type Traits SFINAE
Type Casting Exceptions
Template Specialization
static_cast const_cast Access Violations
Full Template Specialization
dynamic_cast reinterpret_cast
Partial Template Specialization
Undefined Behavior (UB)
Variadic Templates
Standard Library + STL
Argument Dependent Lookup (ADL)
Name Mangling Macros
Iterators iostream Templates
Algorithms Date / Time
WinDBg GDB
Multithreading Containers
Debugging Symbols
Understanding Debugger Messages C++ 11 / 14
Debuggers Language Tools Standardds Idioms
Compiler Stages C++ 17 Non-Copyable / Non-Moveable
Compilers
Compilers and Features C++ 20 Erase-Remove
C/lang++ / LLVM Newest Copy and Swap Copy on Write
Intel C++
C++ 0x RAII Pimpl CRTP
MSVS C++
GCC
Licensing Libraries
MinGW
Library Inclusion Boost OpenCV
POCO Tensorflow
Build Systems Package Managers Working with Libraries
protobuf spdlog
gRPC pybind11
CMAKE vcpkg Spack
fmt opencl
Makefile Conan NuGet
gtest / gmock ranges_v3
Ninja
Qt Catch2
Orbit Profiler
Keep learning with following relevant tracks
PyTorch C++
Backend Roadmap
Frameworks