Lightning Talk: Direct Aggregate Initialisation
summary
C++20 adds direct aggregate initialization: using parentheses triggers aggregate initialization, enabling things like perfect-forwarding into aggregates and making macros with commas work so you can implement in_place_back. It also diverges from braced list-initialization: parentheses allow narrowing, do not perform brace elision for nested aggregates, and do not extend lifetimes of temporaries so you can get a dangling reference. Parens also retain preexisting value‑initialization meaning, producing unexpected zero‑init in some omitted‑initializer cases.
AI-written summary · about
related talks
07mLightning Talk: Higher-Order Template Metaprogramming with C++23
06mLightning Talk: C++20 - A New Way of Meta-Programming?
05mLightning Talks: -std=c++20 -- Will This C++ Code Compile?
06mLightning Talk: Const Mayhem in C++
01h 01mBack to Basics: Concepts in C++
01h 03mBack to Basics: Declarations in C++
05mLightning Talk: The Main Points in C++ - Dots in C++
01h 04mC++ Concepts
