Blog
-
C++ Value Initialization | Empty {} and ()
Value initialization uses empty () or {}. Scalars become zero-like; classes call the default constructor.
-
Advanced C++ Variadic Templates
Deep dive into variadic templates: parameter packs, expansion patterns, C++17 folds, and practical tips for logging, type lists, and perfect forwarding.
-
C++ Variadic Templates | Complete Guide to Parameter Packs
Learn C++ variadic templates: typename...Args, pack expansion, sizeof..., fold expressions, and recursive patterns—with examples for generic printf.
-
C++ variant | Type-safe union Complete Guide
std::variant is a type-safe union introduced in C++17. std::variant is a type safe union introduced in C++17. It can store a value of one of several types,
-
vcpkg for C++ | Microsoft Package Manager
vcpkg tutorial: install triplets, vcpkg.json manifest, CMAKE_TOOLCHAIN_FILE, CMake integration, binary caching, and CI—compare with Conan for C++.
-
C++ Views | Lazy Range Views in C++20
C++20 std::views: lazy evaluation, filter, transform, take, drop, and pipeline composition with ranges—when views evaluate and common pitfalls.
-
C++ Virtual Functions: Polymorphism, override, and Pure
Virtual functions in C++: dynamic dispatch, virtual vs non-virtual, pure virtual and abstract classes, virtual destructors, vtables, and slicing pitfalls.
-
C++ Visitor Pattern Explained | Double Dispatch
Visitor pattern in modern C++: classic accept/visit vs std::variant + std::visit (C++17), ASTs, trade-offs when adding types vs operations—tutorial for ...
-
C++ vs Python: Which Language Should You Learn?
C++ vs Python compared for beginners: speed, difficulty, memory, jobs, and learning curves—with benchmarks, checklists, and when to pick each language.
-
C++ VTable Explained: Virtual Function Tables & Dynamic
How C++ vtables and vptrs implement polymorphism: indirect calls, object size, multiple inheritance costs, and optimization with final and NVI.