为什么std::分区没有一个不合时宜的变体

Why does std::partition not have an out-of-place variant?

本文关键字:不合时宜 std 分区 为什么 有一个      更新时间:2023-10-16

std::partition很漂亮,但它已经到位;std::partition_copy也很好,但它需要两个输出迭代器,也就是说,如果你想使用相同的输出数组,你必须至少提前计算满足谓词的元素数量。为什么在<algorithm>中没有一个不合时宜的std::partition,或者一个单独的输出迭代器std::partition_copy

可能是因为功能已经可以通过以下任一方式获得:

  • 复制原始容器并使用原位partition
  • 将单个目标容器的大小调整为正确的大小,并使用begin()rbegin()迭代器从前面和后面填充partition_copy