Праздный интерес про компиляцию, когда метод вызывает сам себя - C#
Формулировка задачи:
После компиляции кода с рекурсией, исполняемый код метода(который вызывает сам себя) в памяти:
1)копируется n-раз линейно, а потом в каждом методе правиться адрес передачи результата в следующую копию. По цепочке ?
2)копируется n-раз матрешкой. Т.е. первый кусок сидит внутри второго куска когда, который сидит в 3-м куске когда ?
3)Не копируется. Создается n-раз отдельные участки памяти для return'ов каждой итерации рекурсии ?
4)Компилятор очень умный. Он транслирует рекурсию в цикл (циклы. Систему циклов любой иерархии) ?
5)Если количество вывозов заранее не известно,и зависит от входных условий, то как компилятор посчитает размер памяти для стека ?
Просто уже кушать не могу, как интересно.
Решение задачи: «Праздный интерес про компиляцию, когда метод вызывает сам себя»
textual
Листинг программы
int Factorial(int n) { if (n <= 1) return 1; return n * Factorial(n - 1); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д