Blog
-
C++ Tag Dispatching Complete Guide | Compile-Time Function Selection & STL Optimization
Master C++ tag dispatching pattern: use empty tag types for compile-time overload resolution. Complete guide with iterator tags, serialization strategie...
-
C++ Template Argument Deduction | How the Compiler Infers `T`
Function template argument deduction: decay rules, references, arrays, perfect forwarding, CTAD overview, and how to fix deduction failures—with example...
-
C++ Templates: Beginner’s Complete Guide to Generic Programming
C++ templates: function and class templates, instantiation, typename vs class, specialization basics, and why definitions usually live in headers.
-
C++ Template Lambdas | Explicit Template Parameters in C++20 Lambdas
C++20 template lambdas: `[]<typename T>(T a, T b)`, concepts constraints, parameter packs, and when they beat generic `auto` lambdas.
-
C++ Template Specialization | Full vs Partial, Traits, and Pitfalls
Master template specialization in C++: full and partial specialization, overload resolution vs partial ordering, ODR, ambiguity, and real patterns for t...
-
C++ Temporary Objects: Lifetime, const&, RVO, and Pitfalls
C++ temporaries: full-expression rules, lifetime extension with const& and rvalue refs, dangling pointers from c_str(), RVO/NRVO, and performance tips.
-
C++ this Pointer: Chaining, const Methods, Lambdas, and CRTP
The implicit this pointer in non-static member functions: disambiguation, method chaining, self-assignment checks, lambda captures, and const/volatile/ref qualifiers.
-
C++ thread_local | Thread-Local Storage (TLS) Complete Guide
C++11 thread_local: per-thread storage, caches, RNGs, initialization, and patterns without shared mutex overhead. Start now.
-
C++ Three-Way Comparison | The Spaceship Operator `<=>` (C++20)
C++20 `operator<=>`: `default` memberwise comparison, `strong_ordering`, `weak_ordering`, `partial_ordering`, rewriting `==`, and migration from legacy ...
-
C++ time_point | 'Time Points' Guide
C++ std::chrono::time_point represents a point in time on a specific clock. It is used with duration, and the resolution can be changed with time_point_...