为什么C ++标准中没有std :: copy_until函数?

时间:2017-01-12 16:42:20

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

C ++标准库提供了非常棒的东西(child_addedstd::copystd::count等等,但是我不知道为什么没有std::remove,它会复制数据从输入迭代器到输出,直到测试(例如lambda)返回std::copy_until

以下是示例实现:

true

我认为没有人写过论文或其他东西,但也许这样的功能有点不好/暗示我的代码被错误设计了?

1 个答案:

答案 0 :(得分:2)

“为什么C ++标准中没有std::copy_until函数的答案?”可能就是其中之一:

  • 没有人费心为此撰写提案。
  • 提出建议,但ISO委员会认为它不够有用。
  • 它被认为是有用的,但与其他新的C ++ 11算法不同,现有的实现或扩展缺乏经验,因此保守的选择是不添加它。

另见"More STL algorithms (revision 2)" proposal。虽然它没有提及像copy_until这样的内容,但它揭示了为什么某些算法(如copy_if)被添加而其他算法(如lexicographical_compare_3way)没有被添加的原因。