C++23 新的折叠算法

C++23 新的折叠算法

💡 原文英文,约2100词,阅读约需8分钟。
📝

内容提要

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函数已计划但尚未编写。

🏷️

标签

➡️

继续阅读