Blog
-
C++ Fold Expressions | 'Parameter Pack Folding' Guide
How C++17 fold expressions collapse a parameter pack into a single expression, with unary and binary forms and where they replace recursive templates.
-
C++ future and promise | 'Asynchronous' Guide
How std::future and std::promise pass a result between threads in C++, and the difference between this and using std::async directly.
-
C++ inline Functions: ODR, Headers, and Compiler Inlining
C++ inline keyword: linkage and ODR for header definitions, not a guarantee of inlining, class members, inline variables (C++17), and virtual functions.
-
C++ inline Namespace: Versioning, API Evolution, and ADL
inline namespace in C++11+: lifting names into the parent namespace, API versioning, ABI notes, and differences from anonymous namespaces.
-
C++ override & final: Virtual Overrides, Devirtualization,
C++ override and final: catching signature mistakes, sealing classes and virtual functions, devirtualization and performance notes, and practical.
-
C++ packaged_task | 'Package Task' Guide
std::packaged_task is a C++11 feature that wraps a function or callable object and allows you to receive the result as a std::future.
-
C++ Reference Collapsing | Rules for T& and T&&
Reference collapsing: how T&, T&& combinations collapse to a single reference, enabling forwarding references, std::forward, and template deduction.
-
C++ sregex_iterator | Regex iterators for all matches
Use sregex_iterator and sregex_token_iterator to enumerate matches, split tokens, avoid dangling iterators, and handle empty matches and UTF-8 limits.
-
C++ std::chrono::steady_clock — Complete Guide
Use steady_clock for elapsed time and timeouts: monotonic guarantees vs system_clock, comparison with high_resolution_clock, benchmarking patterns.
-
C++ set/unordered_set | 'Duplicate Removal' Complete Guide
set·unordered_set performance comparison, multiset, custom comparator·hash, practical set operations, iterator invalidation guide.