История изменений
Исправление alysnix, (текущая версия) :
fold под капотом самый обычный цикл.
кто бы мог подумать???! :)
Никого вымученные фп идиомы(уже выше сказал, придуманные для чего), скрывающие под особой обычные циклы в ступор не приводят.
Просто уж в таких простейших циклах, как подсчет crc суммы блока, эти «фп идиомы» не нужны.
Они и не проще лексически, и визуально читаемы плохо, и замусоривают код ненужной семантикой.
И компилятору потом надо пыхтеть, чтобы инлайнить лямбды в код этих фолдов на итераторах, а потом всю эту кучу редуцировать в простой сишный цикл.
Причем в сишечке фолды и итераторы можно сделать просто на макросах, если так приперло.
Исправление alysnix, :
fold под капотом самый обычный цикл. кто бы мог подумать???! :)
Никого вымученные фп идиомы(уже выше сказал, придуманные для чего), скрывающие под особой обычные циклы в ступор не приводят.
Просто уж в таких простейших циклах, как подсчет crc суммы блока, эти «фп идиомы» не нужны.
Они и не проще лексически, и визуально читаемы плохо, и замусоривают код ненужной семантикой.
И компилятору потом надо пыхтеть, чтобы инлайнить лямбды в код этих фолдов на итераторах, а потом всю эту кучу редуцировать в простой сишный цикл.
Причем в сишечке фолды и итераторы можно сделать просто на макросах, если так приперло.
Исходная версия alysnix, :
никого вымученные фп идиомы(уже выше сказал, придуманные для чего), скрыващие под особой обычные циклы в ступор не приводят.
Просто уж в таких простейших циклах, как подсчет crc суммы блока, эти «фп идиомы» не нужны.
Они и не проще лексически, и визуально читаемы плохо, и замусоривают код ненужной семантикой.
И компилятору потом надо пыхтеть, чтобы инлайнить лямбды в код этих фолдов на итераторах, а потом всю эту кучу редуцировать в простой сишный цикл.
Причем в сишечке фолды и итераторы можно сделать просто на макросах, если так приперло.