if I have a function:
Foo& Bar() { return /// do something to create a non-temp Foo here and return a reference to it }
why is this:
Taken directly from Herb Sutter's blog post:
auto means “take exactly the type on the right-hand side, but strip off top-level const/volatile and &/&&.”