C++23引入了std::ranges::fold_*算法族,包括六个fold函数,可满足不同的使用情况。其中,fold_left函数可用于替代std::accumulate,同时还提供了fold_right函数。fold_left_first和fold_right_last函数使用范围的第一个元素作为初始元素,而fold_left_with_iter和fold_left_first_with_iter函数则公开了由fold计算的另一个结果:结束迭代器。然而,由于会产生额外的复制,因此不支持fold_*算法族的投影函数。std::ranges::reduce函数已计划但尚未编写。
完成下面两步后,将自动完成登录并继续当前操作。