C++ at the End of 2022

Structured bindings in C++17, 5 years later

Const vs. constexpr vs. consteval vs. constinit in C++20

How to Measure String SSO Length with constinit and constexpr

All Major C++17 Features You Should Know

Reducing Signed and Unsigned Mismatches with std::ssize()

Integer Conversions and Safe Comparisons in C++20

Curious C++ Lambda Examples: Recursion, constexpr, Containers C++23 included

Simplify Code with if constexpr and Concepts in C++17/C++20

Custom types and std::format from C++20

(Non) Static Data Members Initialization, from C++11 till C++20

Embracing Modern C++ Safely, Book Review

C++20 Ranges Algorithms – 7 Non-Modifying Operations

Three Benchmarks of C++20 Ranges vs Standard Algorithms

C++20 Ranges The Key Advantage - Algorithm Composition

Sfinae, Immediate Context, Operator

C++ Templates: How to Iterate through std:tuple: std:apply and More

Simplify template code with fewer typename in C++20

20 Smaller yet Handy C++20 Features

Examples of 7 Handy Functions for Associative Containers in Modern C++

Designated Initializers in C++20

6 More Ways to Refactor new/delete into unique ptr

6 Ways to Refactor new/delete into unique ptr

C++ Smart Pointers Gotchas

C++20 Oxymoron: Constexpr Virtual

C++ Return: std::any, std::optional, or std::variant?

Dark Corner of C++ Corner Cases

constexpr vector and string in C++20 and One Big Limitation

C++20: Empty Base Class Optimisation, no_unique_address and unique_ptr

Fixing C++'s footgun – Expression Evaluation Order, C++17

More →