Информация об изменениях

Сообщение Re[21]: Есть ли смысл учить С++? от 25.03.2021 1:33

Изменено 25.03.2021 1:37 Артём

Re[21]: Есть ли смысл учить С++?
Здравствуйте, CreatorCray, Вы писали:

Тё>>>>Ну давай, расскажи нам, как заменить стек не-хвостовой рекурсии на цикл.

CC>>>Артёмка, не позорься!
Тё>>Ты даже не понял, о чём речь, не так ли?

CC>Нет Артёмка, это просто ты не в курсе как это делается. Хвостовая вообще примитивно, в таком раскладе изначально рекурсию грех писать. Обычная всего то чуточку сложнее, с ручной манипуляцией контекстом. Но переделать в фиксированное использование стекового фрейма можно любую.


Какая ещё "ручной манипуляцией контекстом"? Ты вообще понял, что рекурсия- это про стек прежде всего? То, что ты вместо использования стека thread организуешь стек на чём-то ещё, не отменяет расхода памяти. Это "где-то ещё", если это куча, снизит. перфоманс.
Re[21]: Есть ли смысл учить С++?
Здравствуйте, CreatorCray, Вы писали:

Тё>>>>Ну давай, расскажи нам, как заменить стек не-хвостовой рекурсии на цикл.

CC>>>Артёмка, не позорься!
Тё>>Ты даже не понял, о чём речь, не так ли?

CC>Нет Артёмка, это просто ты не в курсе как это делается. Хвостовая вообще примитивно, в таком раскладе изначально рекурсию грех писать. Обычная всего то чуточку сложнее, с ручной манипуляцией контекстом. Но переделать в фиксированное использование стекового фрейма можно любую.


Какая ещё "ручной манипуляцией контекстом"? Ты вообще понял, что рекурсия- это про стек прежде всего? То, что ты вместо использования стека thread организуешь стек на чём-то ещё, не отменяет расхода памяти. Это "где-то ещё", если это куча, снизит. перфоманс.
Кроме того, современные оптимизирующие компиляторы C++ и JIT разворачивают хвостовую рекурсию в цикл. Твои потуги только заговняют код.