In this article, you’ll learn why std::initializer_list has a bad reputation in C++. Is passing values using is as efficient as “emplace”, how can we use non-copyable types? You’ll also see how to fix some of the problems. Let’s start with the issues first: Updated in Sept 2024: Added note about stack overflow and C++26 fixes.| C++ Stories