Я пытаюсь понять, есть ли какая-либо польза для возврата ссылки const
. У меня есть факториальная функция, которая обычно выглядит так:
unsigned long factorial(unsigned long n)
{
return (n == 0) ? 1 : n * factorial(n - 1);
}
Я предполагаю, что будет увеличение производительности, когда мы пройдем по ссылке const
, и вернем ссылку const
... но const
-корректность всегда меня смущает.
const unsigned long & factorial(const unsigned long& n)
{
return (n == 0) ? 1 : n * factorial(n - 1);
}
Можно ли вернуть ссылку const
? Кроме того, может кто-нибудь, пожалуйста, скажите мне: полезно ли?