Guaranteed copy elision & evaluation order
Simplified value categories making prvalue elision mandatory; defined evaluation order for a.b, a[b], a << b, assignments.
Connected features
Papers
4 · Oulu 2016Guarantees copy elision by redefining prvalues as initializers rather than temporaries.
Allows replacing class objects containing reference or const members via std::launder.
Defines evaluation order for a.b, a->b, a[b], a << b, assignments and more.
Specifies that function arguments are indeterminately sequenced (not unsequenced).