c ++: const Referenz auf einen rWert
//old school '98 c++, no C++0x stuff
std::string getPath();
void doSomething()
{
const std::string &path = getPath(); //const reference to an rvalue
... // doSomething with path
}
void doSomething2()
{
const std::string path = getPath(); //regular variable
... // doSomething with path
}
Was sind die Unterschiede zwischen doSomething und doSomething2 und welcher ist vorzuziehen?
Ist es sicher, einen const-Verweis auf einen zurückgegebenen Wert in doSomething zu verwenden?
Erstellt doSomething2 eine Kopie des zurückgegebenen Werts, darf der Compiler hier die Wertoptimierung durchführen?