【发布时间】:2017-04-21 06:53:31
【问题描述】:
std::vector<int> vec;
std::find_if(vec.begin(), vec.end(), X);
where X = function or lambda expression
以上是我们今天在 C++ 中所拥有的。大多数时候,在这样的 函数,我们总是遍历整个容器。为什么不这些 功能支持 -
std::find_if(vec, X) where X = function or lambda expression
除非我没有正确搜索,否则我在 C++17 中看不到这一点。 有没有人正在开发类似的东西……也许是 C++20?
【问题讨论】:
-
它已经进行了多年,但似乎他们无法就任何事情达成一致。我同意缺少范围库真的很糟糕。
-
这被称为“基于容器的算法”。见this question