Рекурсия в языке программирования C++ работает следующим образом: любая функция кроме main() может вызывать саму себя, то есть в теле функции может быть размещён вызов этой же функции. 1
Когда вызывается рекурсивная функция, она выполняет набор инструкций, а затем вызывает себя, чтобы выполнить тот же набор инструкций с меньшим входным значением. 5 Этот процесс продолжается до достижения базового случая — условия, которое останавливает рекурсию и возвращает значение. 5
Чтобы избежать зацикливания вызовов, в определении рекурсивной функции обязательно нужно указывать условие выхода. 1 Например, можно разместить её вызов внутри блока if. 1
Рекурсия разбивает проблему на более мелкие, более управляемые подзадачи, позволяя находить элегантные и лучшие решения сложных проблем. 2