为什么std :: partition没有不合适的变体?

时间:2016-04-09 21:23:45

标签: c++ algorithm partition c++-standard-library

std::partition很漂亮,但它就位;和std::partition_copy也很好,但它需要两个输出迭代器,即如果你想使用相同的输出数组,你必须至少提前计算满足谓词的元素数。为什么std::partition中没有std::partition_copy或单输出 - 迭代器<algorithm>

1 个答案:

答案 0 :(得分:3)

大概是因为功能已经可以通过以下任何一种方式实现:

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