constexpr functions: optimization vs guarantee

The feature of constant evaluation is nothing new in 2023. You have constexpr available since C++11. Yet, in many of my classes, I see that people still struggle with constexpr [...]

C++ Insights Episode 38: User-provided vs. user-declared

I published a new C++ insights episode: User-provided vs. user-declared. [...]
C++ Insights

Happy 5th anniversary C++ Insights

This year we celebrate the 5th anniversary of C++ Insights! [...]

Evaluation order in C++ and uniform initialization

In today's post, you learn or get reminded about an interesting benefit of uniform initialization. [...]

C++ Insights Episode 37: C++20's range-based for-loop with initializer

I published a new C++ insights episode: C++20's range-based for-loop with initializer. [...]

push_back vs emplace_back: When to use what

In today's post, I like to address a topic already discussed by others. However, in classes or code reviews, I still see the confusion. That's why I want to highlight this once [...]

C++ Insights Episode 36: Coroutine customization points

I published a new C++ insights episode: Coroutine customization points. [...]

static, inline, or an unnamed namespace what's the difference

Today's post teaches the difference between a function declared static, inline, or in an unnamed namespace. "What of these should I use when?" is a question that occasionally [...]

C++ Insights Vim plugin available

Great news for all VIM lovers FreedWu developed a Vim plugin to use C++ Insights in your favorite editor. The plugin is available on GitHub: github.com/Freed-Wu/cppinsights.vim. [...]

Equality of a string class that is only instantiable at compile-time

Today's post continues with last month's post A string class that is only instantiable at compile-time. [...]