Элементы функционального программирования в C++: композиции отображений

Комментарии (1)

  • 16 мая 2017 в 14:18

    0

    Спасибо за статью. Интересно.
    Не совсем понятен вопрос, в чём преимущество перед диапазонами? Вы сами про них упоминаете, но в чём их минусы? Почему бы не пользоваться ими?
    Там компонуемость лучше, написание функций проще и без макросов. Тот же пример из документации:
    std::vector vi{1,2,3,4,5,6,7,8,9,10};
    using namespace ranges;
    auto rng = vi | view::remove_if([](int i){return i % 2 == 1;})
                  | view::transform([](int i){return std::to_string(i);});
    // rng == {"2","4","6","8","10"};
    

    Ничто не мешает пользоваться ими уже сейчас. Да, не в std, но ranges-v3 уже работающая header-only имплементация. Принести её в проект ничего не стоит.

© Habrahabr.ru