просто хочется знать цену использования. например как с std::function я знаю, что это почти всегда аллокация для лямбд со стейтом и всегда indirect call, никакого инлайнинга и принимаю решение готов ли я в том или ином случае платить эту цену за удобства. часто бывает, что готов. но иногда бывает, что это оверкил
так и с ranges, нужно разбираться в их устройстве, что бы знать стоимость использования этой библиотеки
Рантайм стоимость равна или (в редких случаях) меньше стоимости испоьзования аналогичного алгоритма из C++17 <algoirithm>.
Упрощается использование и выразительность для простых случаев, например std::ranges::sort(container);
. Однако можно нагородить ужасных вещей, если злоупотреблять |
Сильно возрастает стоимость в понимании "а что это у меня не компилится" и возрастает время компиляции. Обе эти проблемы разработчики компиляторов будут длительно и мучительно чинить