Индекс форумов |
Исходное сообщение |
---|
"Samsung планирует в августе выпустить первый смартфон на баз..." Отправлено lucentcode, 20-Мрт-13 05:07 |
Да я в курсе про хвостовую рекурсию. Вот только она не относится к стандартным языковым конструкциям для организации цикла. Конструкция for часто короче, она понятней новичкам, и при этом более компактна. Иногда хвостовая рекурсия - это однозначное благо. А иногда - дикий оверинжиниринг. Всё зависит от задачи, решаемой с её помощью. Задачу вроде FizzBuzz вы же не будете решать с помощью хвостовой рекурсии? Да и в плане производительности(я на C никогда не писал, не знаю) разве многократный вызов функции выполняется быстрей, чем конструкции вроде while и for? Ведь всё это потом компилируется в машинные инструкции, и(насколько я помню ассемблер x86) для организации циклов используются инструкции безусловный и условных переходов. А они выполняются быстрее, чем многократный вызов одной и той-же функции. Возможно, компилятор как-то оптимизирует код, использующий хвостовую рекурсию, не знаю. Если оптимизаций нет, то лучше применять её только там, где это действительно необходимо. |
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования. |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |