Skip to content
Codeloom

Topics / C++

C++

Systems programming, game engines, and high-performance code. Modern C++ from the basics.

Why learn C++?

  • The default language when performance and control matter most.

  • Behind nearly every game engine, browser, database, and trading system.

  • Modern C++ is leaner and safer than its reputation.

  • A foundation that makes every other language easier to understand.

What you can build with C++

Game engines and graphics High-frequency trading and HPC Embedded and systems programming Performance-critical libraries

C++ tutorials

30 articles · page 1 of 2

Hand-written tutorials, ordered as a recommended learning path.

  1. 01 CMake Tutorial Learn modern CMake for C++ — targets, properties, and dependencies — and configure a small project that compiles cleanly across platforms.
  2. 02 Coroutines Understand C++20 coroutines — co_await, co_yield, co_return — and how they enable async and generator-style code without blocking threads.
  3. 03 constexpr How constexpr, consteval, and constinit let you move computation from runtime to compile time, with practical patterns and the rules that govern them.
  4. 04 Design Patterns Tour the most useful design patterns in modern C++ — singleton, factory, observer, strategy, RAII — and learn when each one earns its keep.
  5. 05 Exceptions vs Errors Compare exceptions and error codes in C++ for handling failures — performance, ergonomics, and when each style fits real codebases.
  6. 06 Iterators A practical walk through C++ iterator categories, the ranges library, views, and how to compose pipelines that are both safe and zero-overhead.
  7. 07 C++ Lambdas Master C++ lambdas: syntax, capture modes by value and reference, mutable lambdas, generic lambdas, and lifetime pitfalls.
  8. 08 C++ Atomics Understand the C++ memory model, memory orderings, and how std::atomic enables correct lock-free programming across threads.
  9. 09 Move Semantics How move semantics work in modern C++: rvalue references, std::move, perfect forwarding, and the rules that decide when your objects are copied versus moved.
  10. 10 C++ Modules Learn C++20 modules: what they replace, how to declare and import them, and how they speed up compilation and clean up the preprocessor.
  11. 11 C++ Namespaces Use C++ namespaces to organize code: nested namespaces, anonymous namespaces, using-declarations, and why using namespace std is dangerous in headers.
  12. 12 RAII RAII is the central idea behind safe C++ code. Learn how scope-bound resource ownership eliminates leaks, simplifies error handling, and scales beyond memory.
  13. 13 Refs vs Ptrs A clear comparison of references and pointers in C++, when each is the right tool, and how their semantics interact with const, ownership, and APIs.
  14. 14 Smart Pointers A practical guide to unique_ptr, shared_ptr, and weak_ptr in modern C++: ownership semantics, when to use each, and the pitfalls that lead to leaks and cycles.
  15. 15 STL Containers A practical comparison of the C++ standard containers: vector, list, deque, map, unordered_map, set, and friends, with guidance on which to pick when.
  16. 16 Templates & Concepts Templates are how C++ does generic code. Concepts (C++20) make that code readable and debuggable. Here is how both work together in practice.
  17. 17 string_view Learn how std::string_view gives you cheap, non-owning views into strings — when to use it, how it speeds up code, and how to avoid dangling references.
  18. 18 UB Pitfalls A guided tour of the most common undefined behavior traps in C++ and the habits, tools, and language features that help you avoid them in production code.
  19. 19 GoogleTest Set up GoogleTest in a CMake project and write clear unit tests with assertions, fixtures, and parameterized tests for confident C++ code.
  20. 20 C++ VTables Learn how C++ virtual dispatch works under the hood: vtables, vptrs, override, final, and the cost of polymorphism.