Blog
-
C++ enum class | Scoped Enumerations Explained
Strongly typed scoped enums in C++11: no implicit int conversion, explicit underlying types, switch hygiene, and bit flags with constexpr helpers.
-
C++ Exception Handling Complete Guide | try/catch/throw & RAII Patterns
Master C++ exceptions: standard hierarchy, catch-by-reference, exception safety guarantees (basic/strong/nothrow), RAII patterns, noexcept interaction, ...
-
C++ File Status | 'File Status' Guide
C++17 std::filesystem file_status·perms, status and symlink_status, file_type·permission checks, backup·log cleanup practice, Windows and POSIX differen...
-
C++ Fold Expressions | Folding Parameter Packs in C++17
C++17 fold expressions explained: unary/binary folds, left vs right, empty packs, supported operators, and patterns for sum, print, all_of, and containers.
-
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, and API Sealing
C++ override and final: catching signature mistakes, sealing classes and virtual functions, devirtualization and performance notes, and practical patter...
-
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. Unlike std::async,...
-
C++ Pointers Explained for Beginners: Address, Dereference, and Common Bugs
Learn C++ pointers with a street-address analogy: &, *, nullptr, swap, arrays, new/delete, smart pointers, const pointers, and debugging with ASan/GDB—w...
-
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.