
20 Mar
2017
20 Mar
'17
3:14 a.m.
On Sun, Mar 19, 2017 at 10:42 PM, Gavin Lambert via Boost
If you are calling a function that returns a std::string (thus you have an rvalue temporary) and you are immediately wrapping this in a string_ref (as another temporary) and then passing this as a function parameter, AFAIK the compiler is within its rights to delete the temporary std::string prior to the call as it is not the actual parameter.
Nope. Those temporaries live until the end of the enclosing full-expression.