例如
这些中最好的是:
std::string f() {}
Run Code Online (Sandbox Code Playgroud)
要么
const std::string& f() {}
Run Code Online (Sandbox Code Playgroud) 我试图了解返回const引用是否有任何好处.我有一个通常看起来像这样的阶乘函数:
unsigned long factorial(unsigned long n)
{
return (n == 0) ? 1 : n * factorial(n - 1);
}
Run Code Online (Sandbox Code Playgroud)
我假设当我们通过const引用传递并且返回const引用时会有性能提升......但是 - const正确性总是让我感到困惑.
const unsigned long & factorial(const unsigned long& n)
{
return (n == 0) ? 1 : n * factorial(n - 1);
}
Run Code Online (Sandbox Code Playgroud)
返回const引用是否有效?还有,有人可以告诉我:这有益吗?