Temporary materialization in C ++ 17

While looking at cppreference, I noticed that in several places the words “temporary” are replaced with a “materialized value” for C ++ 17 (see here for a quick example).

A link to cppreference will lead you to this page , which gives this description of what “materialized” means:

A value of any full type T can be converted to a value x of the same type T. This conversion initializes a temporary object of type T from prvalue by evaluating the prvalue with the temporary object as its destination and creates an xvalue representing the temporary object.

Unfortunately, this description is too close to the standard ones for me to lower my head correctly, and the end result when I read it ("temporarily appears briefly") does not seem to differ from how everything works in C ++ 14.

So I'm wondering if anyone can explain in layman's terms:

  • What exactly has changed in C ++ 17 regarding time series?
  • What problems are solved?
  • What is the difference (if any) for C ++ users?
+6
source share

All Articles