Is there any performance boost in storing the return value of a function by reference? I mean is the following code preferred because it prevents copying the return value of function into the variable?

```
string Foo()
{
    string someString = "some string";
    return someString;
}

const string &str = Foo();

```

**Edit:** Although in the above example `Foo()` is returning a string, my question concerns returning other type of objects as well.