... или это просто практика?
Я спрашиваю об этом из-за спора с моим профессором: я потерял кредит для вызова функции рекурсивно на том основании, что мы не рассматривали рекурсию в классе, и мой аргумент заключается в том, что мы изучили ее неявно, изучив return
и методы.
Я спрашиваю здесь, потому что я подозреваю, что у кого-то есть окончательный ответ.
Например, в чем разница между двумя следующими способами:
public static void a() {
return a();
}
public static void b() {
return a();
}
За исключением "a
продолжается вечно" (в реальной программе он используется правильно, чтобы снова запросить пользователя при наличии недопустимого ввода), существует ли какая-либо принципиальная разница между a
и b
? Для не оптимизированного компилятора, как они обрабатываются по-разному?
В конечном итоге дело доходит до того, что, изучая return a()
из b
, мы также научились return a()
из a
. Мы?