Roadmaps › C++
C++ Roadmap
Learn C++ step by step — 45 free lessons with spaced repetition and active recall on RetainHQ, so what you study actually sticks.
Lessons
- Abstract classes & pure virtual functions
- accumulate, transform & common <algorithm> patterns
- Arrays, strings & C-style vs std::string
- auto, range-for & structured bindings (C++17)
- Bit manipulation tricks for CP
- Bitmask DP & subset enumeration
- Classes, constructors, destructors & this
- const correctness — const refs, const methods & when to use
- constexpr & compile-time computation
- Copy elision & RVO/NRVO
- CP template — fast I/O, macros & type aliases
- Custom comparators with lambda for sort/PQ
- Data types, I/O (cin/cout) & fast I/O tricks
- deque, list & array
- Disjoint Set Union (DSU) with path compression
- Fenwick tree (BIT) — prefix sums
- Functions — pass by value, reference & pointer
- GCD/LCM, Euler's totient, nCr mod p
- Implement vector, stack & LRU cache from scratch
- Inheritance & virtual functions / vtable
- Iterator invalidation — when containers reshuffle under you
- Lambda expressions & closures
- map & set — red-black tree, O(log n) ops
- Memory leaks, dangling pointers & double free
- Modular arithmetic & fast power
- Move semantics & rvalue references
- multimap, multiset & priority_queue
- next_permutation, rotate & reverse
- Operator overloading — common interview cases
- Preprocessor macros & #define for CP
- RAII — resource acquisition is initialization
- References vs pointers — syntax & mental model
- Rule of 3 / 5 / 0 - copy, move, destructor
- Segment tree — range query & point update
- Sieve of Eratosthenes & prime factorization
- sort, binary_search, lower_bound & upper_bound
- Sparse table & RMQ
- Stack vs heap — new/delete & memory layout
- std::optional, std::variant & std::any
- Templates — function & class templates
- undefined behaviour — common traps
- unique_ptr, shared_ptr & weak_ptr
- unordered_map & unordered_set — hash internals
- vector — internals, push_back amortization
- vtable, vptr & dynamic dispatch overhead