Skip to content
AgileLogics
5 min read

What You Should Know Now — and What's Next

What You Should Know Now

  • Core syntax on top of C: references, classes, constructors/destructors, and operator overloading
  • Object-oriented programming: inheritance, virtual functions, and abstract classes
  • Templates, from simple function templates through variadic templates and constexpr compile-time computation
  • The STL: containers, iterators, and algorithms, replacing most hand-built C data structures
  • RAII, smart pointers, and move semantics — how modern C++ manages memory and resources safely without a garbage collector
  • Modern C++20 features: concepts, ranges, and an overview of coroutines
  • Concurrency with std::thread, mutexes, and condition variables
  • How a production C++ project is built, tested, and shipped

What Should You Learn Next?

  • A related language — Rust, a modern systems language that enforces many of the ownership rules this course asked you to follow by convention (RAII, move semantics) at compile time instead.
  • A specific domain — game engine architecture (if games interest you) or a deep dive into one major open-source C++ codebase (LLVM, a database engine) to see these idioms at real scale.
  • Revisit C — if any lesson here leaned on a C concept that felt shaky, it's worth solidifying directly, since C++ never stops needing it underneath.

Build Something

Pick a project idea that solves an actual problem you personally have — and build it in modern C++ (C++17/20 style: RAII, smart pointers, STL containers, no raw new/delete) from the start, with a Catch2 or Google Test suite alongside it.