Re[4]: Шикарная книжка по C++
От: мыщъх США http://nezumi-lab.org
Дата: 07.10.16 01:27
Оценка:
Здравствуйте, _hum_, Вы писали:

__>Здравствуйте, LaptevVV, Вы писали:


__> на с++ рекурсивный подход использовать мало того, что сомнительно по эффективности,

в принципе рекурсия при fastcall может быть эффективнее выделения памяти на куче и обгоняет многие алгоритмы с ветвлением которое проц не может предсказать. но никакой гарантии нет. если понимать что у компилятора под капотом то можно получить выигрыш по скорости, применив рекурсию. но если не понимать, то можно очень сильно проиграть

__> так еще и небезопасно по переполнению стека. вот вы знаете, как удостовериться, что размера стека хватит?

это да. стека мало, причем непредсказуемо мало. на разных платформах его разное кол-во и по современным меркам зачастую ничтожное. даже если нам известно сколько стека выделяет ось нашему потоку, то в общем случае нам неизвестно сколько скушали остальные функции на момент вызова нашей. если рекурсивная функция А вызывает рекурсивную функцию Б, то мне становится страшно.


__>я к тому веду, что такие вещи естественнее изучать на соответствующих языках

+1
есть куча языков где рекурсия кушает не стек, а кучу. хотя накладные расходы на вызов функции в общем случае неизвестны. даже если это рекурсивный обход каталогов, то очень может быть что накладные расходы скушают всю кучу...
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.