Фрагмент из книги Чукича не пойму как работает
std::vector<double> xs = {1.0, 2.0, ...};
auto result = sum(xs | transform(sqrt));
Красота
Гуглите что такое c++ ranges
это оператор, который как и другие можно переопределить
Означает "побитовое или", а в ranges переопределена, если не ошибаюсь, как последовательная обработка потока данных . В данном случае — берётся вектор xs, и для всех элементов вычисляется квадратный корень, затем они суммируются. (могу ошибаться)
По описанию в тексте книги так оно и есть
По этой причине библиотеки диапазонов обычно предлагают спе циальный синтаксис конвейера (pipe), основанный на перегрузке оператора | и использовании его в роли аналогичного оператора команд ной оболочки UNIX. Т страница 194 Чукич
Туда еще не дочитал. Это как пример с 40 стр взято
RANGES классные. Учи, очень полезно.
а там (на стр. 40) это нужно воспринимать просто как псевдокод - а не как конструкцию языка )))
Обсуждают сегодня